【发布时间】:2014-11-12 19:32:21
【问题描述】:
我正在用 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 使用这两个参数解密数据?
【问题讨论】:
标签: java cryptography openssl aes public-key-encryption