javax.crypto.BadPaddingException

  错误信息:

javax.crypto.BadPaddingException: Given final block not properly padded. Such issues can arise if a bad key is used during decryption.

    at com.sun.crypto.provider.CipherCore.doFinal(CipherCore.java:991)
    at com.sun.crypto.provider.CipherCore.doFinal(CipherCore.java:847)
    at com.sun.crypto.provider.AESCipher.engineDoFinal(AESCipher.java:446)
    at javax.crypto.Cipher.doFinal(Cipher.java:2164)
    at io.datacenter.utils.AESUtils.DecryptAES256(AESUtils.java:233)
    at io.datacenter.utils.pulldata.XJSportUtils.decryptAES256(XJSportUtils.java:312)
    at io.datacenter.utils.pulldata.XJSportUtils.main(XJSportUtils.java:92)

  google了一下,发现第一篇博客说的是“aes解密,linux 和 windows系统不同,win会生成相同的key,linux环境SecureRandom会完全随机化的内部状态。。。”,按照文章中进行修改,没效果。

  再看其他文章,全是照抄第一篇。。。

  折腾了好久,发现一个新的情况,两套加密的key,比如key1和key2,key1加密出来的内容,比如叫content1,解密的时候,若使用key2去解密centent1,也是会报这个错的。

  •  

你可能感兴趣的:(java基础)