目前我们使用 PBEWithMD5AndDES 作为用户名、电子邮件地址生日的 2 路加密算法?它似乎不是特别高效(大批量读取和写入 30k 数据库行需要 1 分钟,每行使用 1 个字符串加密字符串)。
这看起来合理吗?或者有什么更好的。
此外,我不清楚 jastypt 中的默认 PBEWithMD5AndDES 算法是执行多次迭代还是只执行一次。
目前我们使用 PBEWithMD5AndDES 作为用户名、电子邮件地址生日的 2 路加密算法?它似乎不是特别高效(大批量读取和写入 30k 数据库行需要 1 分钟,每行使用 1 个字符串加密字符串)。
这看起来合理吗?或者有什么更好的。
此外,我不清楚 jastypt 中的默认 PBEWithMD5AndDES 算法是执行多次迭代还是只执行一次。
加密操作总是很慢。无论如何,如果您使用的是固定盐生成器,jasypt 1.9.2 包含一个优化,可以节省一些初始化调用并可能提高您的性能:http: //jasypt.org/changelogs/jasypt/ChangeLog.txt
至于迭代,请注意PBE加密(双向)中的迭代只是为了获得加密密钥(它是通过对密码应用哈希函数获得的,它不是byte []加密密钥而是无限的-强度字符串)。在获得密钥的散列函数上执行的迭代次数可以在大多数加密器对象中通过keyObtentionIterations
属性进行配置(如果没有,javadoc 将解释选择的值)。
免责声明,根据 stackoverflow 规则:我是 jasypt 的作者。