1、背景
公司项目使用的安全框架为SpringSecurity。用户模块的密码加密使用的是SpringSecurity自身提供的加密器BCryptPasswordEncoder,将BCrypt(一种跨平台的加密工具)进行封装。
在用户注册后,将密码进行加密并存储到数据库。
2、介绍使用
@Component
public class EncodePasswordUtils {
public static String encodePassword(String password) {
BCryptPasswordEncoder encoder = new BCryptPasswordEncoder();
return encoder.encode(password);
}
}
3、解释
BCryptPasswordEncoder:org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder
本人在使用时与SpringSecurity结合使用,它是SpringSecurity进行封装过的,在登录的时候使用SpringSecurity进行验证,它会将用户手动输入的密码进行加密,然后与数据库中的密码进行对比。
4、领悟
(1)此教程并不是教你如何使用BCryptPasswordEncoder,因为如果要使用BCryptPasswordEncoder,必须导入SpringSecurity插件此插件是一个安全框架,内容庞大。我们完全可以选择其他的加密工具如:MD5,DES,RSA等,不要为了使用而去使用!
(2)而此教程的真正意义是新人在碰到新项目的时候看到BCryptPasswordEncoder类,而不知道这个类的作用,所以此教程教你只是认识BCryptPasswordEncoder!