javax.crypto.BadPaddingException:Given final block not properly padded。
解决方法
修改前代码:
KeyGenerator kgen = KeyGenerator.getInstance("AES");
kgen.init(128, new SecureRandom(key.getBytes()));
SecretKey secretKey = kgen.generateKey();
以上方法在Windows下可以正常运行,且加解密成功,但是在 Linux 下运行时,解密时会报错:Given final block not properly padded。
修改后代码:
KeyGenerator kgen = KeyGenerator.getInstance("AES");
SecureRandom random = SecureRandom.getInstance("SHA1PRNG");//①
random.setSeed(key.getBytes());
kgen.init(128, random);