BCrypt加密的原理,以及常見的加密演算法

2021-09-22 16:42:16 字數 1700 閱讀 3073

bcrypt加密:是一種加鹽的加密方法,md5加密時候,同乙個密碼經過hash的時候生成的是同乙個hash值,在大資料的情況下,有些經過md5加密的方法將會被破解.使用bcrypt進行加密,同乙個密碼每次生成的hash值都是不相同的。每次加密的時候首先會生成乙個隨機數就是鹽,之後將這個隨機數與密碼進行hash,得到 乙個hash值存到資料庫中使用的函式是bcrypt.hashpw(password, bcrypt.gensalt())。當使用者在登陸的時候,輸入的是明文的密碼,這個時候,在springsecurity.xml檔案中的認證管理器中配置bcrypt加密方式,將會將會從資料庫中取出這個hash值進行分離,前面的22位就是加的鹽,之後將隨機數與前端輸入的密碼進行組合求hash值判斷是否相同,使用的函式是: match bcrypt.checkpw(candidate, hashed)。

加密分為對稱加密和非對稱加密,對稱加密中加密和解密使用的是同乙個金鑰,通常使用的是相對較小的金鑰,一般情況下小於256bit,金鑰實際上是一種演算法,金鑰越大加密越強,但是加密和解密的過程越慢,一般使用較小的金鑰。傳送方使用金鑰將明文的資料加密成為密文然後傳送出去,接收方收到密文之後,使用同乙個金鑰將密文解密成為明文進行讀取。對稱加密的計算量下速度快效率高,對稱加密通常用於需要加密大量資料的時候使用,但是對稱加密存在問題,金鑰傳輸問題,因為對稱加密和解密使用的是同乙個金鑰,所以對稱加密的安全性不僅取決於加密演算法的本身,更取決於金鑰是否被安全的保管,加密者如何將金鑰安全的傳輸到解密者手中是乙個很重要的問題( 採取的解決方式1.金鑰週期行變化,或者是實時變化,2.使用對端的公鑰產生加密會話金鑰並傳遞給對端,對端使用私鑰解密獲取會話金鑰,之後雙方基於金鑰進行對稱加密的保密通訊,就是說非對稱加密和對稱加密配合使用),金鑰管理問題,隨著金鑰數量的增多,金鑰的管理問題會逐漸的顯示出來,我們在加密使用者的資訊時候,不可能所有的使用者都用同乙個金鑰進行加密解密,如果使用同乙個金鑰進行加密和解密的話,金鑰洩露之後將會洩露所有使用者的資訊,因此要為每乙個使用者單獨生成乙個金鑰並進行管理,這樣金鑰的管理成為乙個問題,金鑰管理問題使用非對稱加密進行管理,達到一對多的問題常見的對稱加密演算法有aes des 3des idea演算法(

非對稱加密

非對稱加密演算法:非對稱加密使用了一對金鑰公鑰和私鑰,公鑰可以發給任何請求它的人,私鑰只能由一方保管,不能外洩。使用公鑰進行加密,則只能用對應的私鑰進行解密,使用私鑰進行加密則只能使用公鑰進行解密。假設a要給b傳送資料,首先b先生成一對金鑰,稱之為b公鑰和b私鑰,b私鑰儲存在b自己的手中,b的公鑰傳送給a,之後a用b的公鑰把明文加密生成密文,b用b私鑰把密文解密生成明文進行閱讀。非對稱加密解決了金鑰傳輸問題,解決了金鑰管理問題,非對稱加密計算量大加密速度慢,適合少量資料進行加密的場景,常見的非對稱加密的方式是:rsa,dsa,dh(

摘要演算法,hash演算法

摘要演算法,相同的輸入會有相同的輸出,訊息摘要採用單向的hash函式,無法從訊息摘要中找到源資訊,但是現在資料量大可能會找到,摘要演算法常用於計算資料的完整性通過比較hash直是否相同進行判斷。常見的摘要演算法有md5,sha1,sha2(

數字證書

數字證書是一種權威性的電子文件,是由公正權威的第三方機構ca中心簽發的證書,以數字證書為核心的加密技術可以對網路上傳輸的資訊進行加密和解密,數字簽名和簽名驗證,確保網上傳遞資訊的機密性和完整性,使用了數字證書,即使傳送的資訊在網上被其他人截獲甚至是丟失了個人賬戶密碼等資訊,仍然可以保證賬號的安全性和資金安全,它能提供在inernet上進行身份驗證的權威性電子文件,可以在網際網路交往中用它來證明自己的身份和識別對方的身份。

數字簽名:

對稱加密與非對稱加密,以及RSA的原理

在現代密碼學誕生以前,就已經有很多的加密方法了。例如,最古老的斯巴達加密棒,廣泛應用於西元前7世紀的古希臘。16世紀義大利數學家卡爾達諾發明的柵格密碼,基於單錶代換的凱撒密碼 豬圈密碼,基於多表代換的維吉尼亞密碼,二戰中德軍廣泛使用的恩格瑪加密機 但最終都找到了有效的破解演算法。然而,在加密演算法之...

PHP更安全的密碼加密機制Bcrypt詳解

前言 我們常常為了避免在伺服器受到攻擊,資料庫被拖庫時,使用者的明文密碼不被洩露,一般會對密碼進行單向不可逆加密 雜湊。常見的方式是 雜湊方式 加密密碼 md5 123456 e10adc3949ba59abbe56e057f20f883e md5 123456 salt salt 207acd61...

https原理以及對稱加密和非對稱加密

對稱加密的原理是資料傳送方將明文 原始資料 和加密金鑰一起經過特殊加密演算法處理後,使其變成複雜的加密密文傳送出去。接收方收到密文後,若想解讀原文,則需要使用加密金鑰及相同演算法的逆演算法對密文進行解密,才能使其恢復成可讀明文。非對稱加密的原理是甲方首先生成一對金鑰同時將其中的一把作為公開金鑰 得到...