Один из предоставленных нами сервисов API попросил нас зашифровать данные с помощью org.apache.commons.ssl.OpenSSL.encrypt ("AES256", ... и его работы. Но попытка найти эквивалент в javax.crypto без зависимости
public static void main(String args[]) throws Exception {
String data="Test123";
String key="AABBCC11";
String cipher=new String(OpenSSL.encrypt("AES256", key.toCharArray(), data.getBytes(), true));
//cipher=enc(data,key);
String clear=new String(OpenSSL.decrypt("AES256", key.toCharArray(), cipher.getBytes()));
System.out.println(clear);
}
public static String enc(String text, String key) throws Exception {
Key keySpec = new SecretKeySpec(key.getBytes("UTF-8"), "AES");
Cipher c = Cipher.getInstance("AES");
c.init(Cipher.ENCRYPT_MODE, keySpec);
byte[] encValue = c.doFinal(text.getBytes());
return java.util.Base64.getEncoder().encodeToString(encValue);
}
Я пробовал хешировать ключ с sha-256 и AES / CBC / PKCS5Padding, но шифр не расшифровывается с OpenSSL.decrypt ("AES256"