Эквивалент OpenSSL.encrypt в javax.crypto - PullRequest
0 голосов
/ 07 сентября 2018

Один из предоставленных нами сервисов 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"

...