我一直被困在我的代码中的一个错误上,它不会让我正确解密!我只向 dataBytes 传递了 8 个字节的数据,并且向 keyBytes 传递了一个 24 字节的密钥。我正在尝试将解密的数据作为字节数组返回。我不断收到错误的填充异常。
谢谢!
这是代码片段:
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;