这一节来聊一下密码的加密。
加密盐,为了避免两个相同的面加密出来的密文是一样的,每个人的盐不一样,
首先引入工具包,lambdaworks
<!-- https://mvnrepository.com/artifact/com.lambdaworks/scrypt --> <dependency> <groupId>com.lambdaworks</groupId> <artifactId>scrypt</artifactId> <version>1.4.0</version> </dependency>
然后就可以对面进行加密
check是检查明文,确定能不能变成你的加密串。
后面三个参数用来控制你的加密的位数。知道就可以了不需要详细的了解。
user.setPassword(SCryptUtil.scrypt(user.getPassword(),32768,8,1));
运行测试
再存一个。他们两个的密码都是123456
两个密码一样 ,但是加密出来的密文是不一样的
密码校验
判断明文 是不是能变成你的加密串。
启动服务测试
id为5的用户的面是明文的
查的是id为5的数据,不合法的哈希值
查id为13的用户
拿回来的面是一段密文
结束