一.注册用户时,用户的密码一般都是加密存储在数据库中.今天我要用到的加密方式是Bcrypt加密.

 1.首先在SpringBoot项目的pom文件中,引入SpringSecurity相关依赖,目的是为了使用BcryptPasswordEncoder类用于加密

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

SpringBoot对注册用户密码进行Bcrypt密码加密 随笔 第1张

引入这个依赖会出现一个问题:它会默认将用户微服务的所有请求拦截

访问资源会出现以下界面

SpringBoot对注册用户密码进行Bcrypt密码加密 随笔 第2张

该框架给了一个默认账号:user  密码在每次服务启动时在启动页面输出SpringBoot对注册用户密码进行Bcrypt密码加密 随笔 第3张

用这个就可以进行登录,但是登录之后服务器资源依旧被拦截  

SpringBoot对注册用户密码进行Bcrypt密码加密 随笔 第4张

所以需要我们手动提供一个security配置类,对一些静态资源,注册登录页面放行

在SpringBoot启动类同级的地方创建一个security配置类,加上@Configuration注解,继承WebSecurityConfigurerAdapter类,重写configure方法(参数是http的那个)

 SpringBoot对注册用户密码进行Bcrypt密码加密 随笔 第5张 

SpringBoot对注册用户密码进行Bcrypt密码加密 随笔 第6张

最后启动服务器,成功访问注册页面.

2.前戏终于做完了,开始我们的注册吧

  首先需要提供BCryptPasswordEncoder对象,在启动类中将其加入容器

SpringBoot对注册用户密码进行Bcrypt密码加密 随笔 第7张

在Service层注入

SpringBoot对注册用户密码进行Bcrypt密码加密 随笔 第8张

调用其encode方法进行加密

SpringBoot对注册用户密码进行Bcrypt密码加密 随笔 第9张

至此大功告成.去看看效果吧

填写注册信息

SpringBoot对注册用户密码进行Bcrypt密码加密 随笔 第10张

去看看数据库吧.

SpringBoot对注册用户密码进行Bcrypt密码加密 随笔 第11张

可以看到密码已经加密成功.

 

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄