我正在使用亞馬遜S3來存儲文件。存儲時,我正在加密流。再次下載時,我立即解密流。這個設置是工作得很好,但偶爾我得到以下例外 -javax.crypto.IllegalBlockSizeException的可能原因
javax.crypto.IllegalBlockSizeException:帶襯墊的密碼
解密時輸入長度必須是16的倍數可能是什麼原因可能錯誤發生。上載/下載過程中數據是否腐敗是其中一種可能性?如果是的話,只有當填充字節被破壞或文件中的任何字節被破壞時纔會發生這種情況?
[編輯]但奇怪的是,存儲在S3中的文件大小是適當的,它不像只有一半的文件被存儲。
你只會得到這個填充異常,或者你也得到其他的(非法填充異常)? – 2012-04-14 10:50:40
是的,我也得到填充異常 - java.io.IOException:錯誤關閉流:javax.crypto.BadPaddingException:給定最終塊沒有正確填充 – 2012-04-16 06:55:27