JCE提供了一个使用非对称加密法的API
日期:2007年7月12日 作者: 查看:[大字体 中字体 小字体]-
使用对称加密系统有一些缺点。由于只有一个秘钥能够解密密文,所以你必须把它随密文一起送出去,这就会引起一些风险:有人可能会截取到密钥。此外,每个接收者都必须有一个不同的密钥,所以你还要解决密钥管理的问题。
通过使用公钥和密钥,非对称加密法圆满地解决了这些问题。使用你的公钥,任何人都可以加密只能由你解开的信息。尽管你还是必须保护好自己的密钥,但是你的公钥可以任意发放或者放在某个中央库供人取用。在本文中,我将讲解如何使用Java扩展加密法(JCE)来利用非对称加密法的优势。
使用JCE
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对象,你可以访问公钥和私钥。在我们的示例代码里,这对密钥被保存在文件系统里,供以后使用。
要注意的一点内容:有了这些密钥,加密数据就简单了。但是你必须小心在加密和解密数据的时候不要超过区块大小。让我们看看示例代码里crypt方法的一个代码段:
cipher.init(type, key);
out = new ByteArrayOutputStream();
int s = cipher.getBlockSize();
int r = 0;
for (int t = 0; t 〈 text.length; t += s) {
if (text.length - t 〈= s) {
r = text.length - t;
} else {
r = s;
}
out.write(cipher.doFinal(text, t, r));
}
out.flush();
out.close();
在初始化密码之后,你就要创建一个新的ByteArrayOutputStream来容纳加密/解密数据。然后使用区块大小,你要在目标文本内往复并加密/解密文本块,这些加密/解密块要小于或者等于我们密码的区块大小。如果你尝试加密/解密的数据比区块大小要大,那么这样的操作会失败,而且会出现异常。
更高的安全性
如果使用对称系统加密,那么你就在冒风险:有人会截取密码并读取密文。使用非对称的方法,明文被公钥和私钥保护起来。正如示例代码所示,只需使用一些辅助方法读取和编写密钥,实现信息交换的安全性是很容易的。(出处:网侠)
-
- JCE提供了一个使用非对称加密法的API 相关文章:
- ·JCE提供了一个使用非对称加密法的API
- JCE提供了一个使用非对称加密法的API 相关软件
- 特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作
- 者.文章版权归文章原始作者所有.对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转
- 载的文章有版权问题请联系编辑人员,我们尽快予以更正. 转载请注明来源:http://www.hackhome.com
上一篇:DB2中的数据值加密
下一篇:DB2的表数据加密
精品推荐
热点TOP10
- ·加密算法之BLOWFISH算法
- ·对称加密算法技术概述
- ·网络游戏封包基础
- ·破解 最新 SWF scanner V2.6.2
- ·深思3的狗加密的软件
- ·迷你日历 V2.2 算法分析
- ·身份证号编码规则
- ·John the Ripper使用说明
- ·PGP加密原理
- ·即时语音提示 & 校对软件InsTalk注册码及注册机 下
- ·The Bat!使用PGP程序之图形教程(1)
- ·简单算法——WinRCAD 2000公路设计软件
- ·暴破-AQUA 3D Screen Saver v1.5-水族馆屏保程序
- ·smbpasswd - samba加密口令文件
- ·拱猪大战 1.8破解手记--算法分析
- ·简单算法——邮件精灵 V2.0
- ·openssl的man中文文档
- ·屏幕撷取程序Ashampoo SnapYa! v1.53 算法分析
- ·文件密使pj心得
- ·飘雪动画秀3.02注册算法分析
