文章目录
一、问题背景
任何应用考虑到安全,绝不能明文的方式保存密码。密码应该通过哈希算法进行加密。有很多标准的算法比如SHA或者MD5,结合salt(盐)是一个不错的选择。 Spring Security 提供了BCryptPasswordEncoder类,实现Spring的PasswordEncoder接口使用BCrypt强哈希方法来加密密码。
二、 (BCryptPasswordEncoder)加密及判断密码是否相同
spring security (BCryptPasswordEncoder)加密及判断密码是否相同
参考URL: https://blog.youkuaiyun.com/qq_40741855/article/details/89358745
如下,一般自定义认证类中使用, 再其 authenticate 方法中,调this.passwordEncoder.matches判断传入密码和库中加密后密码是否匹配。
@Component
public class CustomUsernamePasswordAuthenticationProvider
Spring Security 中的BCryptPasswordEncoder使用详解
本文介绍了Spring Security中使用BCryptPasswordEncoder对密码进行加密和验证的重要性,详细解析了BCrypt算法的特点,包括其每次加密结果不同和计算缓慢以增加安全性。还探讨了BCryptPasswordEncoder的源码和实现原理,并不推荐自定义PasswordEncoder,建议使用Spring Security提供的默认密码编码器。
订阅专栏 解锁全文
2048

被折叠的 条评论
为什么被折叠?



