農林漁牧網

您現在的位置是:首頁 > 林業

為什麼加密也要“加鹽”?

2022-08-09由 夏冰加密軟體 發表于 林業

鹽為什麼能去除石蠟

你聽說過“加鹽”嗎?這可不是指的炒菜,而是一種加密手段,那麼什麼是加鹽?為什麼加密要加鹽呢?

什麼是加鹽?

在密碼學中,透過在密碼任意固定位置插入特定字串,讓雜湊後的結果和使用原始密碼的雜湊結果不相符,這樣一個過程我們稱之為“加鹽”。

“鹽值”是一組隨機的字串,被稱為Salt,由系統隨機生成。Salt可以插在最前面、最後面,也可以插在中間,可分開插入也可倒序。

為什麼加密也要“加鹽”?

什麼是加鹽?

在實際應用中,出於安全和資料保密的考慮,常常需要使用到加密演算法,一些網站的資料庫管理著使用者的ID及密碼。密碼常以MD5等加密後的形式存在,但也並非萬無一失。於是就出現了加鹽加密的方式,這種加入鹽值的方式可以有效防止駭客暴力破解使用者ID和密碼。

為什麼加密也要“加鹽”?

為什麼要加鹽?

資料庫明文儲存,一旦資料庫洩露,使用者資料全部洩漏。

為什麼要加鹽?

資料庫加密儲存,典型加密演算法有 MD5 和 SHA1 ,資料庫儲存的密碼為加密後的密文。理論上來說不能被解密,即使資料庫丟失,但由於儲存為密文,所以無法判斷使用者原始密碼。

第一代密碼:

資料庫儲存MD5加密後的密碼+Salt,進行加鹽處理。當密碼設定過於簡單,第二代密碼加密方式就不那麼有效了,於是為資料庫加入一個Salt鹽值欄位(Salt可以是任意字母、數字、或字母數字的組合,必須是隨機產生的),每個使用者Salt值均不相同。

第一代密碼:

第二代密碼:

使用者在網站註冊時提供ID與密碼;

系統為使用者分配鹽值;

鹽值插入密碼後進行HASH;

將ID,HASH值與鹽值一起存入資料庫。

為什麼加密也要“加鹽”?

第二代密碼:

使用者提供ID與密碼;

系統在資料庫中透過使用者提供的ID查詢HASH值與鹽值;

將鹽值插入使用者提供的密碼後進行HASH;

將HASH值與資料庫中的HASH值比較,相等則驗證成功,反之則驗證失敗。