【发布时间】:2011-02-27 21:56:19
【问题描述】:
我正在连接一个使用 AES 加密数据的旧版 Java 应用程序(该应用程序无法更改)。以下是原始 Java 代码如何实例化 AES 密码:
SecretKeySpec skeySpec = new SecretKeySpec(key, "AES");
cipher = Cipher.getInstance("AES");
cipher.init(Cipher.ENCRYPT_MODE, skeySpec );
我是 C/C++ 开发人员,不是 Java,但据我所知,这个遗留 Java 代码没有指定模式,也没有指定初始化向量。由于没有指定,任何人碰巧知道默认情况下Java会使用什么?
我们需要新的 C/C++ 应用来解密 Java 加密的数据。但是我不知道如何使用 OpenSSL 的初始化向量和链接模式,因为我不知道 java 是做什么的。
【问题讨论】:
-
这很好地说明了为什么不应该使用默认值,而是始终明确指出操作模式和填充模式。
标签: java c openssl aes encryption