亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

一文掌握SpringSecurity?BCrypt密碼加密和解密

 更新時間:2023年04月14日 11:32:13   作者:南有喬木i  
BCrypt就是一款加密工具,可以比較方便地實現(xiàn)數(shù)據(jù)的加密工作。也可以簡單理解為它內(nèi)部自己實現(xiàn)了隨機加鹽處理,這篇文章主要介紹了SpringSecurity?BCrypt密碼加密和解密,一文學會使用BCryptPasswordEncoder的方法,需要的朋友可以參考下

BCrypt就是一款加密工具,可以比較方便地實現(xiàn)數(shù)據(jù)的加密工作。也可以簡單理解為它內(nèi)部自己實現(xiàn)了隨機加鹽處理。例如,使用MD5加密,每次加密后的密文其實都是一樣的,這樣就方便了MD5通過大數(shù)據(jù)的方式進行破解。
BCrypt生成的密文是60位的,而MD5的是32位的。

BCryptPasswordEncoder 是 Spring Security 官方推薦的密碼解析器。BCryptPasswordEncoder 類是PasswordEncoder接口的實現(xiàn)類。
BCryptPasswordEncoder 是對 BCrypt 強散列方法的具體實現(xiàn)。是基于 Hash 算法實現(xiàn)的單向加密??梢酝ㄟ^ strength 控制加密強度,默認 10.

使用BCrypt能實現(xiàn)每次加密的值都是不一樣的。

在PasswordEncoder接口中有三個方法:

  • String encode(CharSequence rawPassword):加密原始密碼。而BCrypt實現(xiàn)類會隨機生成的salt來進行加密。
  • boolean matches(CharSequence rawPassword, String encodedPassword):對加密的密碼和傳入的原始密碼進行驗證。如果密碼匹配則返回true,否則返回false。存儲的密碼本身永遠不會被解碼。
    • rawPassword:原始密碼,比如加密前密碼是“123”,這里就傳入“123”
    • encodedPassword:加密后的密碼
  • boolean upgradeEncoding(String encodedPassword):如果加密后的密碼需要重新加密以提高安全性,則返回true,否則返回false。默認返回false。
    • encodedPassword:加密后的密碼

需要的maven依賴:

<!-- SpringBoot項目中的依賴 -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-security</artifactId>
</dependency>
<!-- 非SpringBoot項目的依賴,SpringBoot項目也能用 -->
<dependency>
    <groupId>org.springframework.security</groupId>
    <artifactId>spring-security-web</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.security</groupId>
    <artifactId>spring-security-config</artifactId>
</dependency>

測試方法

public class BcryptTest {
    public static void main(String[] args) {
        // 用戶密碼
        String password = "123123";
        // 創(chuàng)建密碼加密的對象
        BCryptPasswordEncoder passwordEncoder = new BCryptPasswordEncoder();
        // 密碼加密
        String newPassword = passwordEncoder.encode(password);
        System.out.println("加密后的密碼為:" + newPassword);

        // 校驗這兩個密碼是否是同一個密碼
        // matches方法第一個參數(shù)是原密碼,第二個參數(shù)是加密后的密碼
        boolean matches = passwordEncoder.matches(password, newPassword);
        System.out.println("兩個密碼一致:" + matches);
    }
}

執(zhí)行結果:

到此這篇關于【SpringSecurity】BCrypt密碼加密和解密 一文學會使用BCryptPasswordEncoder的文章就介紹到這了,更多相關BCrypt密碼加密和解密內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Java實現(xiàn)俄羅斯方塊小游戲源碼

    Java實現(xiàn)俄羅斯方塊小游戲源碼

    這篇文章主要為大家詳細介紹了Java實現(xiàn)俄羅斯方塊小游戲源碼,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • Springboot集成JWT實現(xiàn)登錄注冊的示例代碼

    Springboot集成JWT實現(xiàn)登錄注冊的示例代碼

    本文主要介紹了Springboot集成JWT實現(xiàn)登錄注冊的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-06-06
  • SpringMvc @Valid如何拋出攔截異常

    SpringMvc @Valid如何拋出攔截異常

    這篇文章主要介紹了SpringMvc @Valid如何拋出攔截異常,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-09-09
  • 一文深入理解Java中的深拷貝機制

    一文深入理解Java中的深拷貝機制

    在Java編程中,我們經(jīng)常需要處理對象的復制問題,深拷貝和淺拷貝是兩種常見的復制方式,它們在內(nèi)存管理和對象引用方面存在不同特點,本文將帶大家深入探究Java中的深拷貝機制,需要的朋友可以參考下
    2023-09-09
  • IDEA性能優(yōu)化設置(解決卡頓問題)

    IDEA性能優(yōu)化設置(解決卡頓問題)

    在我們?nèi)粘J褂肐DEA進行開發(fā)時,可能會遇到許多卡頓的瞬間,本文主要介紹了IDEA性能優(yōu)化設置,非常具有實用價值,需要的朋友可以參考下
    2023-05-05
  • java kafka寫入數(shù)據(jù)到HDFS問題

    java kafka寫入數(shù)據(jù)到HDFS問題

    這篇文章主要介紹了java kafka寫入數(shù)據(jù)到HDFS問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • java實現(xiàn)jdbc查詢結果集result轉(zhuǎn)換成對應list集合

    java實現(xiàn)jdbc查詢結果集result轉(zhuǎn)換成對應list集合

    本文給大家匯總介紹了java實現(xiàn)jdbc查詢結果集result轉(zhuǎn)換成對應list集合,十分的簡單,有相同需求的小伙伴可以參考下。
    2015-12-12
  • SpringBoot集成Swagger構建api文檔的操作

    SpringBoot集成Swagger構建api文檔的操作

    這篇文章主要介紹了SpringBoot集成Swagger構建api文檔的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12
  • SpringBoot2.x 整合 thumbnailator 圖片處理的示例代碼

    SpringBoot2.x 整合 thumbnailator 圖片處理的示例代碼

    這篇文章主要介紹了SpringBoot2.x 之整合 thumbnailator 圖片處理,本文通過示例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-10-10
  • 基于Java實現(xiàn)進制轉(zhuǎn)換工具類的示例代碼

    基于Java實現(xiàn)進制轉(zhuǎn)換工具類的示例代碼

    這篇文章主要為大家詳細介紹了如何基于Java實現(xiàn)進制轉(zhuǎn)換工具類,從而實現(xiàn)減少參數(shù)長度的效果,文中的示例代碼講解詳細,需要的可以參考一下
    2023-02-02

最新評論