初心者的計概--儲存密碼的正確方式


Posted by s103071049 on 2021-06-22

註冊過的網站,知道我的密碼嗎 ?

資料庫中會儲存帳密,但若某天資料庫被攻破,駭客就可以拿著我的帳密到處亂試。所以這些網站其實不應該知道我的明密,他們應該知道的是加密過的密碼。

hash function 雜湊函數

將無限的輸入對應到有限的輸出,因此可能有不同的輸入但卻產生相同的輸出,我們稱之為碰撞。因此,無法逆推。

特性:

  1. 單向函數
  2. 無法從輸出推導輸入
  3. 輸入一樣,輸出保證一樣

有名的雜湊函數例如 : md5, sha256(安全性更高、但速度也更慢)

這也是為甚麼忘記密碼只能重設,因為他也不知道原本的密碼是甚麼。

但,我們可以用暴力破解,將所有對應到結果存在資料庫中,這時只要透過查表就知道原本對應的密碼是甚麼。為了克服暴力破解的資安問題,有了加鹽。

salting 加鹽

自動幫使用者產生一段亂數,例如:sdsfdlsjf,做 md5 時是對 (sdsfdlsjf + 密碼),確保不會太輕易被破解。

除非亂數加密碼的組合也被駭客存到表格內。


#加密 #雜湊







Related Posts

CS50 Hash Table

CS50 Hash Table

CS50 Internet Primer

CS50 Internet Primer

21. State

21. State


Comments