您的位置:首页 > 编程语言 > Java开发

JAVA aes加解密在mac中的问题

2014-03-09 23:42 465 查看
现象描述:

windows上加解密正常,MAC上加密正常,解密时发生如下异常:

javax.crypto.BadPaddingException: Given final block not properly padded

at com.sun.crypto.provider.SunJCE_f.b(DashoA13*..)

at com.sun.crypto.provider.SunJCE_f.b(DashoA13*..)

at com.sun.crypto.provider.AESCipher.engineDoFinal(DashoA13*..)

at javax.crypto.Cipher.doFinal(DashoA13*..)

解决后代码如下:

KeyGenerator keyGen = KeyGenerator.getInstance("AES");

String pwd = "passord";
SecureRandom random=SecureRandom.getInstance("SHA1PRNG");
random.setSeed(pwd.getBytes());
keyGen.init(128, random);
SecretKey skey = keyGen.generateKey();
byte[] raw = skey.getEncoded();

SecretKeySpec skeySpec = new SecretKeySpec(raw, "AES");
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: