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”... –