Мы реализуем одно шифрование с AES256 вместе с преобразованием RSA / ECB / PKCS1Padding, ниже приведен пример кода -
Мы моделируем это с помощью препроцессора JMeter JSR223.
XYZ x1 = new XYZ();
String key = "gJFJ5NR7Qqhp6/edJPaPblZBm1Op0PLVdPjUGEclHSeq04bdtGOjvuHWvq3WQLfm";
String encoded_a_key = x1.generateSecureKey();
byte[] a_key = x1.decodeBase64StringTOByte(encoded_a_key);
String encoded_a_key = x1.encodeBase64String(x1.decrypt(key, a_key));
Реферальные логи дешифрования c is-
public byte[] decrypt(String plainText, byte[] secret)
throws InvalidKeyException, IOException, IllegalBlockSizeException, BadPaddingException,
Exception {
Cipher DECRYPT_CIPHER = Cipher.getInstance(AES_TRANSFORMATION);
SecretKeySpec sk = new SecretKeySpec(secret, AES_ALGORITHM);
DECRYPT_CIPHER.init(Cipher.DECRYPT_MODE, sk);
return DECRYPT_CIPHER.doFinal(Base64.decodeBase64(plainText.getBytes()));
}
Однако возникает проблема в функции дешифрования. Данный последний блок заполнен неправильно. Такие проблемы могут возникнуть, если при расшифровке используется плохой ключ.