javax.crypto.BadPaddingException
最近从后台解密手机号时,有20%左右的概率发生Exception,同一个人在sessionKey一样的情况下,有时成功有时失败,例如:
第一次返回的密文、key、lv如下:
t8BGeUvYMOBjW3B1zwyd4cQtR2tCvBih+4Vn19NQdWooABcaTB+rx/C37A97caGgVoYO47CNf4iiOEO6g1aGbmMbEDVC/eNx0MScP3HidkSt1aYo6776aen4y6X3/bjUBPEE3qJNu2im/sl5pQo3dROC5MBDDV5fhhIl0780vG0Mq0MkFuL7kGMlF1HlEA5oexFFH4UvJkQ4cEZ6DxiCKg== dr8ynaTVMz1VnYgLztZWuA== 89m6B40VN3px2MrMQYSEoA==
javax.crypto.BadPaddingException: pad block corrupted
at org.bouncycastle.jce.provider.JCEBlockCipher.engineDoFinal(Unknown Source)
at javax.crypto.Cipher.doFinal(Cipher.java:2165)
at com.qq.weixin.mp.aes.AES.decrypt(AES.java:38)
第二次返回的密文、key、lv如下:
omHdcLIWhtH+3LSSkdUiN0Hiz6KH5ybX7nEIbP+lu4SesxvqzP6ppfGgPmJ/KmNxCGDPxTajTX2MlL82JxlIDmWkd3YkM56rOMEjRgtBUogjkpZOn6wHb+b38RSeFCGE27hX8ouL7cjsRXLSVUQCJ4YmKkPXiFhB7TbSWG9kZowjj+sz64dhn524fT14B2lRJvMbhl5NEtWfpC9kyGcP/A== dr8ynaTVMz1VnYgLztZWuA== 5TU46LYZeWZGQxDeAGug8Q==
第一次解密失败,第二次解密成功,同一个人同一个key
已确保用户处于login状态,上述的sessionKey也是一样的,但我看后台日志时不时蹦出这个exception,百思不得其解。
