【发布时间】:2010-12-27 20:43:11
【问题描述】:
似乎将 Triple-DES(>128 位)与普通 DES(64 位)混淆了。 我正在尝试使用 Java 1.5 使用 Triple DES(或 DESede)加密 Derby 数据库
我偶然发现了这个discussion forum message about a problem with JDK 1.5,因此检查以确保它确实使用的是DESede而不是普通的DES。当我使用三重 DES(168 位)URL 创建数据库时
jdbc:derby:MySecureDB;dataEncryption=true;encryptionAlgorithm=DESede/CBC/NoPadding;bootPassword=$ecureC@deCanBr@kE0074242
我仍然能够打开它并使用(普通)DES(64 位)URL 访问它
jdbc:derby:MySecureDB;dataEncryption=true;encryptionAlgorithm=DES/CBC/NoPadding;bootPassword=$ecureC@deCanBr@kE0074242
这不是我期望的行为!!!我应该无法使用错误的加密算法打开它。如何确保它确实使用正确的 (>128bit) 算法对其进行了加密?
Derby 似乎使用了JCECipherProvider.java 中提到的 Java 1.5 的正确函数。我对代码的阅读表明 Derby 处理三重 DES 与普通 DES 不同...我真的可以相信它使用的是强加密吗?
【问题讨论】:
-
我正在使用 J2SE 1.5.0_18 和 Apache Derby 10.5.3.0(最新版本)。
-
顶部 URL 实际上有“create=true”,但为了便于比较,此处省略。
标签: java derby encryption-symmetric