Просмотр исходного кода

修复AES在linux下加解密失败的问题

shuzheng 9 лет назад
Родитель
Сommit
b0e7d9eb19
1 измененных файлов с 6 добавлено и 2 удалено
  1. 6 2
      zheng-common/src/main/java/com/zheng/common/util/AESUtil.java

+ 6 - 2
zheng-common/src/main/java/com/zheng/common/util/AESUtil.java

@@ -34,7 +34,9 @@ public class AESUtil {
             KeyGenerator keygen = KeyGenerator.getInstance("AES");
             //2.根据ecnodeRules规则初始化密钥生成器
             //生成一个128位的随机源,根据传入的字节数组
-            keygen.init(128, new SecureRandom(encodeRules.getBytes()));
+            SecureRandom random = SecureRandom.getInstance("SHA1PRNG");
+            random.setSeed(encodeRules.getBytes());
+            keygen.init(128, random);
             //3.产生原始对称密钥
             SecretKey original_key = keygen.generateKey();
             //4.获得原始对称密钥的字节数组
@@ -86,7 +88,9 @@ public class AESUtil {
             KeyGenerator keygen = KeyGenerator.getInstance("AES");
             //2.根据ecnodeRules规则初始化密钥生成器
             //生成一个128位的随机源,根据传入的字节数组
-            keygen.init(128, new SecureRandom(encodeRules.getBytes()));
+            SecureRandom random = SecureRandom.getInstance("SHA1PRNG");
+            random.setSeed(encodeRules.getBytes());
+            keygen.init(128, random);
             //3.产生原始对称密钥
             SecretKey original_key = keygen.generateKey();
             //4.获得原始对称密钥的字节数组