所以我正在开发一个 Web 应用程序,其中涉及将用户凭据保存在数据库中。为了加密密码,我使用 Spring Security 的 BCryptPasswordEncoder。编码器需要很长时间来加密密码(在密码匹配期间也是如此),这是可以理解的。我的问题是处理这个耗时过程的最佳方法是什么......例如我应该异步加密并立即返回给用户还是仅在密码加密完成后才返回下一个?
如有任何建议,我们将不胜感激。
当我将强度设置为 16 时,我在 BCryptPasswordEncoder 中遇到了类似的问题,这导致密码加密和匹配出现明显的延迟。为了解决这个问题,我改用默认强度,这在不牺牲安全性的情况下显着提高了性能。
@Bean
public PasswordEncoder passwordEncoder() {
return new BCryptPasswordEncoder();
}