免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1812 | 回复: 0
打印 上一主题 下一主题

关于java中AES加密的补充 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-07-01 19:19 |只看该作者 |倒序浏览
1、ECB加密模式是最简单的模式,每一个数据块之间没有任何关系。因此它不需要也不能使用IV(初始化向量:Initialization vector)。默认的加密模式就是ECB(直接使用"AES"获取算法时)

2、其它加密模式需要使用IV,IV的使用方式:
IvParameterSpec iv = new IvParameterSpec(keyBytes);
encypher.init(Cipher.ENCRYPT_MODE, new SecretKeySpec(keyBytes, alogorithmBase), iv);
注意进行加密时不指定初始化向量不会报错,但是每次加密的结果都可能不同,不可预知。解密时必须制定初始化向量,否则会抛出异常。

3、没有指定IV时,加密器会生成一个IV,生成算法可能是随机算法。可以使用cliper.getIV()来获取其生成的IV。再使用该IV进行解密就没有问题了。通过更换IV也是算法的一种安全保障。

3、加密模式参考:
http://hi.baidu.com/msingle/blog/item/8e47eeee44b4552a2df534a6.html


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u2/83532/showart_1983300.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP