1
我一直卡在我的代碼中的錯誤,它不會讓我解密正確! 我只傳遞八個字節的數據到dataBytes,我將 一個24字節的密鑰傳遞給keyBytes。 我想以字節數組的形式返回解密數據。 我不斷收到錯誤的填充異常。解密錯誤使用des ede,javax.crypto.badpaddingexception
謝謝!
這裏是代碼片段:
private static byte[] DESEdeDecrypt(byte[] keyBytes, byte[] dataBytes){
byte[] decryptedData = null;
try{
DESedeKeySpec keySpec = new DESedeKeySpec(keyBytes, 0);
SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DESede");
SecretKey key = keyFactory.generateSecret(keySpec);
Cipher cipher = Cipher.getInstance("DESede");
cipher.init(Cipher.DECRYPT_MODE, key);
decryptedData = cipher.doFinal(dataBytes);
}
catch(Exception e){System.out.println(e);}
return decryptedData;
如果您尚未在另一側指定任何填充,請嘗試使用「DESede/ECB/NoPadding」... –