java cipher des 加解密问题 10
SecureRandomsr=newSecureRandom();byterawKeyData[]=。。。。DESKeySpecdks=newDESKeySpec(raw...
SecureRandom sr = new SecureRandom();
byte rawKeyData[] = 。。。。
DESKeySpec dks = new DESKeySpec(rawKeyData);
SecretKey key = SecretKeyFactory.getInstance("DES").generateSecret(dks);
Cipher cipher = Cipher.getInstance("DES");
cipher.init(Cipher.DECRYPT_MODE, key, sr);
代码如上,在初始化(cipher.init)中 sr 的作用是什么,文章中说是随机数源,加密的时候也加入,解密的时候也需要加入,但是这个随机数种子没在外面定义,难道是在init内部定义的? 这个参数很是困惑,麻烦有明白的大侠牺牲点时间指点指点,不胜感激。 展开
byte rawKeyData[] = 。。。。
DESKeySpec dks = new DESKeySpec(rawKeyData);
SecretKey key = SecretKeyFactory.getInstance("DES").generateSecret(dks);
Cipher cipher = Cipher.getInstance("DES");
cipher.init(Cipher.DECRYPT_MODE, key, sr);
代码如上,在初始化(cipher.init)中 sr 的作用是什么,文章中说是随机数源,加密的时候也加入,解密的时候也需要加入,但是这个随机数种子没在外面定义,难道是在init内部定义的? 这个参数很是困惑,麻烦有明白的大侠牺牲点时间指点指点,不胜感激。 展开
- 你的回答被采纳后将获得:
- 系统奖励15(财富值+成长值)+难题奖励10(财富值+成长值)+提问者悬赏10(财富值+成长值)
展开全部
种子可以自己定义,不定义就使用默认方式。
http://tool.oschina.net/uploads/apidocs/jdk-zh/java/security/SecureRandom.html
在CBC模式下,如果用SecureRandom,则每次加密的结果都会不一样,因为JAVA内部会用随机的IV来初始化Cipher对象
http://tool.oschina.net/uploads/apidocs/jdk-zh/java/security/SecureRandom.html
在CBC模式下,如果用SecureRandom,则每次加密的结果都会不一样,因为JAVA内部会用随机的IV来初始化Cipher对象
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询