使用对称加密系统有一些缺点.由于只有一个秘钥能够解密密文,所以你必须把它随密文一起送出去,这就会引起一些风险:有人可能会截取到密钥.此外,每个接收者都必须有一个不同的密钥,所以你还要解决密钥管理的问题.
使用jce 【程序编程相关:阿尔卡特收购朗讯案近日出结果 协议细节曝】
通过使用公钥与密钥,非对称加密法圆满地解决了这些问题.使用你的公钥,任何人都可以加密只能由你解开的信息.尽管你还是必须保护好自己的密钥,但是你的公钥可以任意发放或者放在某个中央库供人取用.在本文中,我将讲解如何使用java扩展加密法(jce)来利用非对称加密法的优势. 【推荐阅读:中国电信2007年停建PSTN 全面采用】
【扩展信息:ST加强对华投资 欲取代德仪成为中国市场】 jce提供了一个api来使用非对称加密法.第一步是使用下面的代码片段生成一对公钥与私钥: keypairgenerator kpg = null; kpg = keypairgenerator.getinstance("rsa", "bc"); kpg.initialize(1024, new securerandom()); keypair kp = kpg.generatekeypair(); privatekey prikey = kp.getprivate(); publickey pubkey = kp.getpublic();在这里,keypairgenerator的getinstance方法接受两个参数??实现与提供者.本文所有的例子都把bouncy castle(bc)作为提供者.在获得了keypairgenerator的实例之后,你必须将它初始化,指出你所期望的安全级别.在本文的例子里,你正在生成一对1,024位的密钥.下一步,你要创建keypair.通过keypair对象,你可以访问公钥与私钥.在我们的示例代码里,这对密钥被保存在文件系统里,供以后使用.
要注意的一点内容:有了这些密钥,加密数据就简单了.... 下一页