在使用者模組,對於使用者密碼的保護,通常都會進行加密。我們通常對密碼進行加密,然後存放在資料庫中,在使用者進行登入的時候,將其輸入的密碼進行加密然後與資料庫中存放的密文進行比較,以驗證使用者密碼是否正確。 目前,md5和bcrypt比較流行。相對來說,bcrypt比md5更安全。因為其內部引入的加鹽機制
bcrypt 官網
(1)新建測試類,main方法中編寫**,實現對密碼的加密
public
class
testbcrypt
}}
(2)main方法中編寫**,實現對密碼的校驗。bcrypt不支援反運算,只支援密碼校驗。
//校驗密碼
boolean checkpw = bcrypt.
checkpw
("123456"
, saltpassword)
;system.out.
println
("密碼校驗結果:"
+checkpw)
;
結果:每次鹽不一樣,加密後不一樣,但都能驗證。
changgou_system下tb_admin新增管理員,使用bcrypt進行密碼加密
idint
主鍵id
login_name
varchar
登入名password
varchar
密碼status
char
狀態(1)修改changgou_service_system專案的adminserviceimpl
@override
public
void
add(admin admin)
測試:postman http://localhost:9101/system/admin
系統管理使用者需要管理後台,需要先輸入使用者名稱和密碼進行登入,才能進入管理後台。
思路:使用者傳送請求,輸入使用者名稱和密碼
後台管理微服務controller接收引數,驗證使用者名稱和密碼是否正確,如果正確則返回使用者登入成功結果
(1)adminservice新增方法定義
/**
* 登入驗證密碼
* @param admin
* @return
*/boolean
login
(admin admin)
;
(2)adminserviceimpl實現此方法
@override
public
boolean
login
(admin admin)
else
}
(3)admincontroller新增方法
/**
* 登入
* @param admin
* @return
*/("/login"
)public result login
(@requestbody admin admin)
else
}
測試:postman http://localhost:9101/system/admin/login
BCrypt密碼加密
一 bcrypt 快速入門 新建工程,將原始碼類bcrypt拷貝到工程 新建測試類,main方法中編寫 實現對密碼的加密 string gensalt bcrypt.gensalt 這個是鹽 29個字元,隨機生成 system.out.println gensalt string password ...
BCrypt 密碼加密和解密
專案中用到需要對登入密碼進行加密 使用bcrypt 主要是能實現每次加密的值都是不一樣的。org.mindrot jbcrypt 0.4string password 123456a 2a 10 ofpkbduezojp6sik63q 0.qlu8a1iteyzldjsxqfn2ndpqxjn0lj...
BCrypt 密碼加密和解密
專案中用到需要對登入密碼進行加密 使用bcrypt 主要是能實現每次加密的值都是不一樣的。org.mindrot jbcrypt 0.4string password 123456a 2a 10 ofpkbduezojp6sik63q 0.qlu8a1iteyzldjsxqfn2ndpqxjn0lj...