BCrypt 密碼加密和解密

簡介:bcrypt是一種跨平臺的文件加密工具。

Bcrypt就是一款加密工具,可以比較方便地實(shí)現(xiàn)數(shù)據(jù)的加密工作。你也可以簡單理解為它內(nèi)部自己實(shí)現(xiàn)了隨機(jī)加鹽處理

例如,我們使用MD5加密,每次加密后的密文其實(shí)都是一樣的,這樣就方便了MD5通過大數(shù)據(jù)的方式進(jìn)行破解。

Bcrypt生成的密文是60位的。而MD5的是32位的。

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

maven依賴:

<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 = "123456";
        //密碼加密
        BCryptPasswordEncoder passwordEncoder=new BCryptPasswordEncoder();
        //加密
        String newPassword = passwordEncoder.encode(password);
        System.out.println("加密密碼為:"+newPassword);
        //對比這兩個密碼是否是同一個密碼
        boolean matches = passwordEncoder.matches(password, newPassword);
        System.out.println("兩個密碼一致:"+matches);
    }
}

結(jié)果1:

image.png

再運(yùn)行一次

結(jié)果2:

image.png

結(jié)論:

發(fā)現(xiàn)同一個密碼加密后的結(jié)果都不一樣,所以不能被反推破解。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 前端加密的意義 這是一個繞不開的話題,肯定有很多看法.但我看來:前端加密看起來有意義,但有時候看起來并沒有意義. ...
    CodeMT閱讀 16,048評論 0 10
  • 1.計算機(jī)出現(xiàn)以前的密碼 這篇文章旨在淺顯易懂的介紹標(biāo)題所述的各個算法概念與應(yīng)用,文中沒有數(shù)學(xué)公式。在主要概念出現(xiàn)...
    ZIJIAN94閱讀 2,132評論 0 2
  • 1. 介紹 數(shù)字簽名、信息加密 是前后端開發(fā)都經(jīng)常需要使用到的技術(shù),應(yīng)用場景包括了用戶登入、交易、信息通訊、oau...
    luckyYU閱讀 10,928評論 1 6
  • Spring Security PasswordEncoder 密碼校驗(yàn)和密碼加密流程 本文使用的源碼是 Spri...
    hdfg159閱讀 49,216評論 1 13
  • 這篇文章主要講述在Mobile BI(移動商務(wù)智能)開發(fā)過程中,在網(wǎng)絡(luò)通信、數(shù)據(jù)存儲、登錄驗(yàn)證這幾個方面涉及的加密...
    雨_樹閱讀 3,018評論 0 6

友情鏈接更多精彩內(nèi)容