天天看點

使用者密碼傳輸和存儲的保護

軟體設計的過程中,使用者的密碼資訊最為敏感,在進行使用者登入驗證時,除了将密碼在傳輸的過程中,進行md5加密,避免密碼明文傳輸過程中被截獲外,還有一個就是密碼在資料庫中的存儲安全問題。

常用的方案是對密碼進行“加鹽”處理。

使用者注冊。

1.      得到使用者傳過來的密碼後,首先在計算機中擷取一個随機數,

2.      擷取到随機數後,設計一個任意算法,對随機數與使用者密碼進行拼接處理,比如最簡單的(使用者密碼+随機數),者将得到一個全新的字元串

3.      我們再對這個新的字元串進行雜湊演算法處理,得到一個新的密碼,由于雜湊演算法的特殊性,該算法是不可逆的。

4.      将使用者id,新密碼和随機數儲存到資料庫中。使用者注冊成功。

使用者登入。

1.      服務端擷取到使用者的id和密碼後,根據使用者id從資料庫中取出該使用者的新密碼和随機數。

2.      把使用者傳過來的舊密碼和随機數交給使用者注冊第2步中的随機數和密碼拼接算法,拼接後,得到一個新的字元串(和使用者注冊第2步得到的全新字元串是一模一樣的)。

3.      将新字元串交給雜湊演算法處理将得到一個處理結果。

4.      如果處理後的結果和資料庫中存儲的新密碼相同,那麼,該使用者傳過來的密碼是正确的,登入成功,否則,登入失敗。

這就是常用的使用者密碼“加鹽“!