用户注册密码加密存储

密码加密很简单基于springboot导入此jar包


org.springframework.boot
spring-boot-starter-security

导入此jar包就可以使用类
BCryptPasswordEncoder encoder = new BCryptPasswordEncoder();
spring security中的BCryptPasswordEncoder方法采用SHA-256 +随机盐+密钥对密码进行加密
接下来就是在我们用户注册时候会输入密码
假设用户注册的时候,设置的密码是:admin123
因为我们密码存在数据库是需要加密存储的
此时我们在将用户输入的密码进行加密使用BCryptPasswordEncoder中的方法encode(admin123)会返回一个字符串然后我们将返回这个字符串设置进我们user类的密码字段里!
在用户登录的时候,肯定不会让用户输入加密的密码进行登录,这样肯定是不科学的!
BCryptPasswordEncoder中的方法matches(用户输入的密码,数据库存的加密密码)进行比较用户输入的密码进行hash处理,得到密码的hash值,然后将其与从数据库中查询到的密码hash值进行比较,如果相同那么登录成功,否正就登录失败
注册时加密:
bcryptPasswordEncoder.encoder(password)饭hi
登录时解密
bcrytPasswordEncoder.matches(rawPassword,encodedPassword)

你可能感兴趣的:(笔记,java)