這一節來聊一下密碼的加密。
加密鹽,為了避免兩個相同的面加密出來的密文是一樣的,每個人的鹽不一樣,
首先引入工具包,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的用戶
拿回來的面是一段密文
結束