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