salt值(鹽值)


SALT值屬於隨機值。用戶注冊時,系統用來和用戶密碼進行組合而生成的隨機數值,稱作salt值,通稱為加鹽值。
 
1、背景:系統通常把用戶的密碼如MD5加密后,以密文形式保存在數據庫中,來防止黑客偷窺。
2、產生:隨着對MD5密文查詢工具的出現,而很多用戶的密碼又設置簡單,單純的對用戶密碼進行MD5加密后保存,用密文很容易就能反查詢得到某用戶的密碼。
3、原理:為用戶密碼添加Salt值,使得加密的得到的密文更加冷僻,不宜查詢。即使黑客有密文查詢到的值,也是加了salt值的密碼,而非用戶設置的密碼。salt值是隨機生成的一組字符串,可以包括隨機的大小寫字母、數字、字符,位數可以根據要求而不一樣。
4、用途:當用戶首次提供密碼時(通常是注冊時),由系統自動添加隨機生成的salt值,然后再散列。而當用戶登錄時,系統為用戶提供的代碼撒上同樣的加鹽值,然后散列,再比較散列值,已確定密碼是否正確。
5、其它:經過添加salt值處理的密碼,即使用戶設置的原密碼是相通的,數據庫中的密文卻是不同的。
 
引:
單向散列加密
                               salt
                                |
                                V                
-----明文---->  單向散列算法 ----->密文
 
為了加強單向散列計算的安全性,會給散列算法加點鹽(salt),salt相當於加密的密鑰,增加破解的難度。常用的單向散列算法有MD5、SHA等。
單向散列算法還有一個特點就是輸入的任何微小變化都會導致輸出的完全不同,這個特性有時也會被用來生成信息摘要、計算具有高離散程度的隨機數等用途。
 
 


免責聲明!

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



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