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*..)
解决后代码如下:
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");
相关文章推荐
- java 工厂模式
- java学习总结——第二天
- springmvc和struts2的差别
- javaweb之Cookie显示商品的浏览记录和Cookie的常见应用有哪些
- java之数组获取最值
- LeetCode | Pascal's Triangle
- Struts环境的安装与配置以及实例解析
- Spring中Singleton模式的线程安全
- 基于Java对象的数据库增删改查操作
- java设计模式(创建型)之原型模式
- 使用Java Native Interface的最佳实践
- spring mvc与struts的区别
- Java界面 SWT基本组件——Label
- Java中堆内存和栈内存详解
- Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/mail/util/LineInputStream
- spring中bean的生命周期
- SSH 中,除web层外,其它层如何取得当前Session的user对象
- Spring bean作用域
- java设计模式(创建型)之生成器模式
- java与.net平台进行的分析和看法