【发布时间】:2014-10-02 05:54:43
【问题描述】:
我必须摆脱 JCE jar,应该用 bouncy castle jar 替换以进行 AES 加密和解密。
当我将 JCE 策略 jar 替换为 AES 256 算法的 BC jar 时,我得到了无效的密钥大小异常。但它适用于密钥大小 128。
如果是 AES 256 算法,我如何使用 BC 罐子。
谢谢。
【问题讨论】:
-
请添加更多细节。你是如何替换
jce.jar的,为什么? Bouncy 有一个 Java 加密实现来添加/替换 Java,但这仅适用于 Java 1.2、1.3 - Java 的旧版本。 -
我们正在将应用程序中的 java 版本从 java 6 升级到 java 7。通过指定 jdk 版本号,java 安装是通过脚本自动完成的。我们必须替换特定于 Java 7 的策略 JCE jar 而不是 java6。所以我们在每次升级过程中都认为,如果我们在类路径中提供 bouncy castle jars 就足以用于 AES 256 加密,我们不需要替换 JCE jars。
-
限制在
Cipher类中。虽然我不确定你不能做你想做的事,但我不认为你走在正确的道路上。 -
我们能否仅使用 BC jar 来执行 AES 256 加密,而不覆盖 jdk lib 文件夹中的 JCE 策略 jar。我尝试按照链接进行操作,但 wiki 页面本身已从 BC 网站下载。 stackoverflow.com/questions/12895031/…
-
是的,你可以,但你不能使用
Cipher或任何依赖它的类。相反,您可以使用“轻量级 API”,即直接调用像BufferedBlockCipher和相关的 Bouncy Castle 类。当然,这也不允许在需要Cipher的更高级别协议中使用 AES。
标签: java encryption cryptography aes bouncycastle