首页 > 其他 > 详细

Weak Encryption: Missing Required Step

时间:2020-06-23 13:09:49      阅读:98      评论:0      收藏:0      [点我收藏+]
Abstract
在对称密钥生成、加密或解密过程中,代码错过了对一个必需步骤的调用。
Explanation
对称密钥的生成以及加密和解密涉及多个步骤,错过任何必需步骤都可能会削弱所生成对称密钥或密文的强度,或导致对现有密文的不正确解密。

例 1:下列代码跳过了 KeyGenerator 的初始化步骤,可能导致使用比推荐的密钥更小的密钥:
...
final String CIPHER_INPUT = "123456ABCDEFG";
KeyGenerator keyGenerator = KeyGenerator.getInstance("AES");

SecretKey secretKey = keyGenerator.generateKey();
byte[] byteKey = secretKey.getEncoded();
....

解决方案:

KeyGenerator generator = KeyGenerator.getInstance("DES");
SecureRandom random = new SecureRandom();
generator.init(random);//初始化秘钥生成器
SecretKey key = generator.generateKey();//生成密钥
Mac mac = Mac.getInstance("HmacSHA256");//得到此密钥的Mac对象

                

 

Weak Encryption: Missing Required Step

原文:https://www.cnblogs.com/zhouj850/p/13181342.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!