關(guān)于maven項(xiàng)目中使用BCrypt加密方式
maven項(xiàng)目中使用BCrypt加密
BCrypt是一種密碼散列函數(shù),主要用于安全地存儲(chǔ)和驗(yàn)證用戶密碼。
它是Blowfish加密算法的一種變體,由Niels Provos設(shè)計(jì)并在1999年發(fā)布。
BCrypt的設(shè)計(jì)目標(biāo)是為了抵御彩虹表攻擊和暴力/破解,它通過(guò)引入鹽(salt)和工作因子(cost factor)來(lái)增加計(jì)算復(fù)雜度,從而使得密碼哈希更加安全。
- 1. Salt(鹽):每個(gè)密碼哈希都使用不同的隨機(jī)鹽值,這使得即使兩個(gè)用戶使用相同的密碼,他們的哈希也會(huì)不同,增加了密碼被破解的難度。
- 2. Adaptive Work Factor(適應(yīng)性工作因子):BCrypt允許設(shè)置一個(gè)工作因子,它決定了計(jì)算哈希所需的時(shí)間。較高的工作因子意味著更長(zhǎng)的計(jì)算時(shí)間和更高的安全性,但同時(shí)也意味著更多的CPU資源消耗。
- 3. Cost Parameter(成本參數(shù)):工作因子通常被稱為“成本參數(shù)”,因?yàn)樗从沉擞?jì)算哈希的成本。隨著硬件性能的提升,可以逐漸增加成本參數(shù)以保持哈希計(jì)算的難度,確保安全性不隨時(shí)間降低。
- 4. Iterative Hashing(迭代哈希):BCrypt使用迭代哈希過(guò)程,這意味著它會(huì)多次運(yùn)行哈希算法,以增加破解難度。
- 5. Key Stretching(密鑰擴(kuò)展):BCrypt的迭代過(guò)程也是一種密鑰擴(kuò)展技術(shù),它增加了密碼到密鑰轉(zhuǎn)換的時(shí)間,降低了暴力攻擊的速度。
在實(shí)際應(yīng)用中,BCrypt通常用于Web應(yīng)用程序和其他需要安全存儲(chǔ)用戶密碼的系統(tǒng)中。
許多現(xiàn)代框架和庫(kù),如Spring Security、Django、Ruby on Rails等,都內(nèi)置了對(duì)BCrypt的支持。
第一步
maven的pom文件里引入依賴
<!--BCrypt依賴--> <dependency> <groupId>org.mindrot</groupId> <artifactId>jbcrypt</artifactId> <version>0.4</version> </dependency>
第二步
service的實(shí)現(xiàn)類serviceImpl里引入(根據(jù)自己的需要更改代碼)
user.setPassword(BCrypt.hashpw(reqVo.getPassword(),BCrypt.gensalt()));
第三步
測(cè)試
{ "username": "134", "account": "dkk", "password": "144", "address": "小王", "phone": "135555551" , "create_time":"2011" }
效果如圖
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Java使用Apache POI庫(kù)讀取Excel表格文檔的示例
POI庫(kù)是Apache提供的用于在Windows下讀寫各類微軟Office文檔的Java庫(kù),這里我們就來(lái)看一下Java使用Apache POI庫(kù)讀取Excel表格文檔的示例:2016-06-06Springboot2.x+Quartz分布式集群的實(shí)現(xiàn)
這篇文章主要介紹了Springboot2.x+Quartz分布式集群的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09MyBatis將查詢出的兩列數(shù)據(jù)裝配成鍵值對(duì)的操作方法
這篇文章主要介紹了MyBatis將查詢出的兩列數(shù)據(jù)裝配成鍵值對(duì)的操作代碼,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-08-08java 較大數(shù)據(jù)量取差集,list.removeAll性能優(yōu)化詳解
這篇文章主要介紹了java 較大數(shù)據(jù)量取差集,list.removeAll性能優(yōu)化詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-09-09