Spring cloud微服务安全实战-3-7API安全机制之数据加密

这一节来聊一下密码的加密。
加密盐,为了避免两个相同的面加密出来的密文是一样的,每个人的盐不一样,


首先引入工具包,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的用户




拿回来的面是一段密文

结束


 

原文地址:https://www.cnblogs.com/wangjunwei/p/11905279.html