2011-12-05 46 views
0

我試圖解密電子郵件ID並得到此異常。我的加密成功,但解密時,我得到了這個。BadPaddingException:在Android中損壞的墊塊

Caused by: javax.crypto.BadPaddingException: pad block corrupted at org.bouncycastle.jce.provider.JCEBlockCipher.engineDoFinal(JCEBlockCipher.java:715) at javax.crypto.Cipher.doFinal(Cipher.java:1090)

幫助表示讚賞

+1

我不知道你面臨的是什麼錯誤。看看這個http://stackoverflow.com/questions/8357868/how-do-i-securely-store-encryption-keys-in-java/8358023#8358023 –

+0

感謝@ padma-kumar的指針閱讀我的評論 – user755499

回答

1

無論是密文已損壞,或者您沒有使用相同的塊大小或填充解密作爲用於加密。

你能告訴我們你用來加密和解密的代碼嗎?

+1

感謝@qwerky爲我讀的指針,我發現在我的代碼中,我有這些行加密SecretKeySpec skeySpec = new ecretKeySpec(someKey,「AES/CBC/PKCS5Padding」); 密碼密碼= Cipher.getInstance(「AES/CBC/PKCS5Padding」);而解密時,我是以這樣的錯誤方式解密SecretKeySpec skeySpec = new SecretKeySpec(rawKey,「AES」); 密碼密碼= Cipher.getInstance(「AES」);.我錯過了getInstance()方法中的這個「AES/CBC/PKCS5Padding」。多謝你們。 – user755499