BCrypt密码加密

任何应用考虑到安全,绝不能明文的方式保存密码。密码应该通过哈希算法进行加密。 有很多标准的算法比如SHA或者MD5,结合salt(盐)是一个不错的选择。 Spring Security 提供了BCryptPasswordEncoder类,实现Spring的PasswordEncoder接口使用BCrypt强 哈希方法来加密密码。
BCrypt强哈希方法 每次加密的结果都不一样。

(1)工程的pom引入依赖

BCrypt密码加密

(2)添加配置类  (资源/工具类中提供)

我们在添加了spring security依赖后,所有的地址都被spring security所控制了,我们目 前只是需要用到BCrypt密码加密的部分,所以我们要添加一个配置类,配置为所有地址 都可以匿名访问。

BCrypt密码加密

(3)修改工程的Application,  配置bean 

BCrypt密码加密

 1.2.1 新增管理员密码加密 
修改工程的AdminService 

BCrypt密码加密

1.2.2 管理员登陆密码校验

(1)AdminDao增加方法定义

BCrypt密码加密

(2)AdminService增加方法 

BCrypt密码加密

(3)AdminController增加方法

BCrypt密码加密

1.3 用户密码加密 

1.3.1 用户注册密码加密 

(4)修改tensquare_user工程的UserService 类,引入BCryptPasswordEncoder
BCrypt密码加密

(5)修改tensquare_user工程的UserService 类的add方法,添加密码加密的逻辑
BCrypt密码加密

(4)测试运行后,添加数据

BCrypt密码加密

数据库中的密码为以下形式

BCrypt密码加密

1.3.2 用户登陆密码判断 
(1)修改工程的UserDao接口,增加方法定义

BCrypt密码加密

(2)修改工程的UserService 类,增加方法

BCrypt密码加密

(3)修改工程的UserController类,增加login方法
BCrypt密码加密