兩大加密算法Bcrypt和MD5區別


MD5

  MD5是一種被廣泛使用的密碼散列函數,不可逆(法從密文推出原文),但是HASH 算法最大的問題是,會發生撞庫,也就是說,有可能出現多個原文得到同一個密碼。

  一種攻擊方法是,攻擊者記錄了一張巨大的密碼庫,預先計算了常用密碼的 hash 值,這樣只需要搜索 hash 值就能尋找到一個合適的密碼用於登錄。這就是被彩虹表攻擊。

  解決彩虹表的問題是加鹽,在加密之前,對原文混入其他信息,混入的信息不存放到數據庫中。實際尋找到其他原文也無法登錄。

 

Bcrypt

Bcrypt 有兩個特點

  1.每一次 HASH 出來的值不一樣

  2.計算非常緩慢

因此使用 Bcrypt 進行加密后,攻擊者想要使用算出 M2 成本變得不可接受。但代價是應用自身也會性能受到影響,不過登錄行為並不是隨時在發生,因此能夠忍受。對於攻擊者來說,需要不斷計算,讓攻擊變得不太可能。

因此推薦使用 Bcrypt 進行密碼加密


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM