Springboot项目中,常用几种加密算法之一解析--详解BCrypt加密算法,图文详解不怕你学不会
程序员文章站
2022-05-12 22:24:08
...
BCrypt密码加密
开发准备工作
- 导入jar包
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
- 导入bean
@Bean
public BCryptPasswordEncoder bcryptPasswordEncoder(){
return new BCryptPasswordEncoder();
}
-
如下图所示
-
然后还需要做一个配置类,目的是为了解决页面的安全控制:
如果不做这一步的话,在导入security-jar包的情况下会导致你访问你自己的页面都会跳到login.html
而这个页面不是我们自己写的,甚至都不知道哪里来的
这其实是你导入的jar包捣的鬼,它会进行安全的控制,访问你的页面需要进行验证
在启动类的时候不难发现有这么一串
这就是你登录的密码,账号是user
嫌麻烦的还是老老实实在配置类加下以下配置类吧 -
加密过程其实很简单,仙人们都已经给我们写好导成jar包了,我们站在巨人的肩膀上开发
String str=encoder.encode(加密字段);
如下图所示:
解密的过程
public Admin login(Admin admin) {
//根据用户名查询对象
Admin loginAdmin = adminDao.findByLoginname(admin.getLoginname());
//根据对象中的密码,进行加密比对
//encoder.matches(原密码,加密后的密码);
if(loginAdmin!=null && encoder.matches(admin.getPassword(),loginAdmin.getPassword())){
//登录成功
return loginAdmin;
}
return null;
}
下期聊一聊常见的一些加密算法以及概念,晚安
下一篇: seo是否真的已死?网站站长如何赚钱?