javax.crypto.BadPaddingException: Invalid pad value!
at sun.security.pkcs11.P11Cipher$PKCS5Padding.unpad(P11Cipher.java:106)[sunpkcs11.jar:1.7.0_45]
at sun.security.pkcs11.P11Cipher.implDoFinal(P11Cipher.java:802)[sunpkcs11.jar:1.7.0_45]
at sun.security.pkcs11.P11Cipher.engineDoFinal(P11Cipher.java:542)[sunpkcs11.jar:1.7.0_45]
at sun.security.pkcs11.P11Cipher.engineDoFinal(P11Cipher.java:525)[sunpkcs11.jar:1.7.0_45]
at javax.crypto.Cipher.doFinal(Cipher.java:1922)[:1.7.0_45]
at com.idcq.appserver.utils.AESUtil.aesDecryptByBytes(AESUtil.java:193)[AESUtil.class:]
at com.idcq.appserver.utils.AESUtil.aesDecrypt(AESUtil.java:211)[AESUtil.class:]
at sun.security.pkcs11.P11Cipher$PKCS5Padding.unpad(P11Cipher.java:106)[sunpkcs11.jar:1.7.0_45]
at sun.security.pkcs11.P11Cipher.implDoFinal(P11Cipher.java:802)[sunpkcs11.jar:1.7.0_45]
at sun.security.pkcs11.P11Cipher.engineDoFinal(P11Cipher.java:542)[sunpkcs11.jar:1.7.0_45]
at sun.security.pkcs11.P11Cipher.engineDoFinal(P11Cipher.java:525)[sunpkcs11.jar:1.7.0_45]
at javax.crypto.Cipher.doFinal(Cipher.java:1922)[:1.7.0_45]
at com.idcq.appserver.utils.AESUtil.aesDecryptByBytes(AESUtil.java:193)[AESUtil.class:]
at com.idcq.appserver.utils.AESUtil.aesDecrypt(AESUtil.java:211)[AESUtil.class:]
本地开发时,是没问题的,今天部署到生产服务器时,报此异常,系统是一样的 CentOS
问题:维护人员在切换环境时,使用了系统自带的jdk,导致此问题的出现
解决:替换jdk为sun的OK
另附
查看jdk版本:
java -version
java version "1.7.0_45"
OpenJDK Runtime Environment (rhel-2.4.3.3.el6-x86_64 u45-b15)
OpenJDK 64-Bit Server VM (build 24.45-b08, mixed mode)
查看你安装的Ubuntu是32位还是64位系统:
sudo uname --m
i686 //表示是32位
x86_64 // 表示是64位