Possible Duplicate:
Java AES Encrypt Entire StringJava的AES加密 - 無法解密字符串
我碰到的一個小問題。出於某種原因,我無法使用與我加密相同的方法來解密某些字符串。例如,我使用這個代碼解密:
SecretKeySpec key = new SecretKeySpec(salt.getBytes(), "AES");
Cipher cipher = Cipher.getInstance("AES/ECB/PKCS5Padding", "SunJCE");
cipher.init(Cipher.DECRYPT_MODE, key);
String result = new String(cipher.doFinal(message));
System.out.println("Decrypted:" + result);
無論如何,當鹽是「1231231231231231」和IM試圖解密該消息是「讀」。我得到這個錯誤:
Exception in thread "main" javax.crypto.BadPaddingException: Given final block not properly padded
但加密(它的工作方式相同)表示加密值
I¡?Þd↨Ú#à, 7êLO*
我怎樣才能解決這個或避免輸入這些字符串的用戶? Thansk
*「請忽略雜亂」*沒問題,我會忽略您的帖子。 –
這必須作爲'一週的虛擬唾液'下降。我推薦閱讀[如何問問題的智能方式](http://catb.org/~esr/faqs/smart-questions.html),特別提及[On On Reacting Like A Loser](http:// catb.org/~esr/faqs/smart-questions.html#not_losing)。祝你好運! –
「...並且要加密的消息是'read'」:你不是想解密嗎?您需要將具有相同填充的加密操作的輸出傳遞給上述函數。 – vhallac