나는 내 코드에서 버그에 갇혀 있었고 제대로 해독하지 못했습니다! 8 바이트의 데이터 만 dataBytes에 전달하고 24 바이트 키를 keyBytes에 전달합니다. 해독 된 데이터를 바이트 배열로 반환하려고합니다. 나쁜 채우기 예외가 계속 발생합니다.데 코드를 사용하여 암호 해독 버그, 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"을 사용하십시오 ... –