salt鹽度與使用者密碼加密機制

2021-06-02 16:04:41 字數 1095 閱讀 9481

1 密碼必須雜湊儲存

(內容略)

2 加salt雜湊

我們知道,如果直接對密碼進行雜湊,那麼黑客(統稱那些有能力竊取使用者資料並企圖得到使用者密碼的人)可以對乙個已知密碼進行雜湊,然後通過對比雜湊值得到某使用者的密碼。換句話說,雖然黑客不能取得某特定使用者的密碼,但他可以知道使用特定密碼的使用者有哪些。

加salt可以一定程度上解決這一問題。所謂加salt,就是加點「佐料」。其基本想法是這樣的——當使用者首次提供密碼時(通常是註冊時),由系統自動往這個密碼裡撒一些「佐料」,然後再雜湊。而當使用者登入時,系統為使用者提供的**撒上同樣的「佐料」,然後雜湊,再比較雜湊值,已確定密碼是否正確。

這裡的「佐料」被稱作「salt值」,這個值是由系統隨機生成的,並且只有系統知道。這樣,即便兩個使用者使用了同乙個密碼,由於系統為它們生成的salt值不同,他們的雜湊值也是不同的。即便黑客可以通過自己的密碼和自己生成的雜湊值來找具有特定密碼的使用者,但這個機率太小了(密碼和salt值都得和黑客使用的一樣才行)。

下面詳細介紹一下加salt雜湊的過程。介紹之前先強調一點,前面說過,驗證密碼時要使用和最初雜湊密碼時使用「相同的」佐料。所以salt值是要存放在資料庫裡的。

圖1. 使用者註冊

如圖1所示,註冊時,

1)使用者提供密碼(以及其他使用者資訊);

2)系統為使用者生成salt值;

3)系統將salt值和使用者密碼連線到一起;

4)對連線後的值進行雜湊,得到hash值;

5)將hash值和salt值分別放到資料庫中。

圖2. 使用者登入

如圖2所示,登入時,

1)使用者提供使用者名稱和密碼;

2)系統通過使用者名稱找到與之對應的hash值和salt值;

3)系統將salt值和使用者提供的密碼連線到一起;

4)對連線後的值進行雜湊,得到hash'(注意有個「撇」);

5)比較hash和hash'是否相等,相等則表示密碼正確,否則表示密碼錯誤。

md5加密 鹽度Salt

md5資訊摘要演算法 英語 md5 message digest algorithm 一種被廣泛使用的密碼雜湊函式,可以產生出乙個128位 16位元組 的雜湊值 hash value 用於確保資訊傳輸完整一致。想要做乙個web 入口得搭建好,使用者的資訊資料也要統一保護好,保護不好會造成安全隱患,一...

安全密碼機制(salt機制)

近日,csdn密碼被洩漏事件,確實不該,大網際網路企業,做法欠妥,也沒有給使用者乙個很好的交代。大家都在說為什麼沒有給密碼加點鹽,salt雜湊。我們知道,如果直接對密碼進行雜湊,那麼黑客 統稱那些有能力竊取使用者資料並企圖得到使用者密碼的人 可以對乙個已知密碼進行雜湊,然後通過對比雜湊值得到某使用者...

MD5 Salt加密機制

如果直接對密碼進行雜湊,那麼黑客可以對通過獲得這個密碼雜湊值,然後通過查雜湊值字典 例如md5密碼破解 得到某使用者的密碼。加salt可以一定程度上解決這一問題。所謂加salt方法,就是加點 佐料 其基本想法是這樣的 當使用者首次提供密碼時 通常是註冊時 由系統自動往這個密碼裡撒一些 佐料 然後再雜...