如何使用openssl使用AES解密Java加密的数据



我正在用Java生成AES公钥和IV(初始化向量)来加密数据。我需要使用openssl命令对此进行解密。考虑到我将AES密钥和IV存储在磁盘上,这可能吗?

以下是加密逻辑

    Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding");
    cipher.init(Cipher.ENCRYPT_MODE, key, iv);
    byte[] stringBytes = pass.getBytes();
    byte[] raw = cipher.doFinal(stringBytes);
    return Base64.encodeBase64String(raw);

生成AES密钥

   SecretKey secret_key = KeyGenerator.getInstance("AES").generateKey();

生成IV

   SecureRandom random = new SecureRandom();
   IvParameterSpec iv = new IvParameterSpec(random.generateSeed(16));

我将IV和AES密钥保存在未加密磁盘中的文件中。现在如何使用openssl使用这两个参数解密数据?

将它们保存为十六进制并使用例如

-K `cat key.hex` -iv `cat iv.hex`

所以这是使用反引号而不是单引号。

最新更新