前言
最近在调试添加用户性能,一开始以为是数据结构有问题,经过排查发现BCryptPasswordEncoder存在性能问题。
把所有为过期的加解密方式进行性能测试。
开始测试
加解密方式 | encode 千次/秒 | matches 千次/秒 |
---|---|---|
BCryptPasswordEncoder(strength default 10) | 72.703 | 0.089 |
BCryptPasswordEncoder(strength 4 最小) | 1.32 | 0.085 |
Pbkdf2PasswordEncoder | 待测试 | 待测试 |
SCryptPasswordEncoder | 待测试 | 待测试 |
SCryptPasswordEncoder | 待测试 | 待测试 |
-- | -- | -- |
总结
- Spring boot 默认使用BCryptPasswordEncoder 就代表BCryptPasswordEncoder比较安全。
- 默认strength 10 加密的时候比较慢,但是对比相差无几,在业务允许的情况下采用默认。
网友评论