我在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
?
答案 0 :(得分:0)
将它们保存为十六进制并使用例如
-K `cat key.hex` -iv `cat iv.hex`
所以使用反引号而不是单引号。