Chinaunix首页 | 论坛 | 博客
  • 博客访问: 70035
  • 博文数量: 14
  • 博客积分: 570
  • 博客等级: 中士
  • 技术积分: 153
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-27 17:53
文章分类

全部博文(14)

文章存档

2009年(6)

2008年(8)

我的朋友

分类: Java

2009-07-01 19:19:17

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、加密模式参考:
阅读(12985) | 评论(1) | 转发(0) |
0

上一篇:TorqueScript-4-对象

下一篇:没有了

给主人留下些什么吧!~~

nyzzr2014-05-26 19:26:22

你好,拜读你的文章,很受启发,想请问一下,如果同一明文,想要得到不同的加密结果,但解码正确,需要怎么处理IV,麻烦你了,一定帮忙呀!