日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

BCrypt管理员登录密码验证

發布時間:2023/12/3 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 BCrypt管理员登录密码验证 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、簡單入門測試

BCrypt不支持反運算,只支持密碼校驗

package com.william.test;import org.springframework.security.crypto.bcrypt.BCrypt;/*** @author :lijunxuan* @date :Created in 2019/7/11 11:34* @description :* @version: 1.0*/ public class TestBcrypt {public static void main(String[] args) {//獲取嚴值String gensalt = BCrypt.gensalt();//加密String encoder = BCrypt.hashpw("123456", gensalt);System.out.println("pwd===="+encoder);/*** 驗證密碼的正確性*/boolean isCheckpw = BCrypt.checkpw("123456", "$2a$10$IOWE94GVyfjnQfvUIqIbXeEVF9XKjK/3Zua6JuXiVgO1ZAkcK9NwS");System.out.println("檢查判斷密碼的結果:"+isCheckpw);} }

二、場景引入,管理員登錄密碼驗證

(1)AdminController

/*** 管理員登錄* @param admin* @return*/@PostMapping(value = "/login")public Result login(@RequestBody Admin admin){boolean isLogin =adminService.isLogin(admin);if (isLogin){return new Result(true,StatusCode.OK,"登錄成功",ResultMap);}else {return new Result(false,StatusCode.ERROR,"登錄失敗");}}

(2)AdminService

/*** 管理員登錄* @param admin* @return*/Boolean isLogin(Admin admin);

(3)AdminServiceImpl

/*** 用戶登錄* @param admin* @return*/@Overridepublic Boolean isLogin(Admin admin) {if (admin==null){return false;}Admin admin1 = new Admin();//獲取用戶輸入的明文用戶名admin1.setLoginName(admin.getLoginName());admin1.setStatus("1");//從數據庫中查詢出用戶對象Admin adminDB = adminMapper.selectOne(admin1);//如果根據用戶名查詢不到數據,則判斷用戶名輸入錯誤if (adminDB==null){return false;}else {//如果用戶名輸入正確則驗證密碼是否正確return BCrypt.checkpw(admin.getPassword(),adminDB.getPassword());}}

總結

以上是生活随笔為你收集整理的BCrypt管理员登录密码验证的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。