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