錯誤信息:
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,也是會報這個錯的。