在密碼保護技術中,salt是用來修改口令散列的隨機數據串。可將salt加入散列,即使系統的另一用戶也選用了同一口令,也可通過唯一辨識用戶口令來避免衝突。也可加入salt,使用口令散列匹配策略為進攻系統的攻擊者製造困難,因為,在口令散列中增加salt可防止攻擊者使用字典單詞來檢驗整個系統。
所謂加Salt,就是加點“佐料”。其基本想法是這樣的——當用戶首次提供密碼時(通常是註冊時),由系統自動往這個密碼里撒一些“佐料”,然後再散列。而當用戶登錄時,系統為用戶提供的代碼撒上同樣的“佐料”,然後散列,再比較散列值,已確定密碼是否正確。
這裡的“佐料”被稱作“Salt值”,這個值是由系統隨機生成的,並且只有系統知道。這樣,即便兩個用戶使用了同一個密碼,由於系統為它們生成的salt值不同,他們的散列值也是不同的。即便黑客可以通過自己的密碼和自己生成的散列值來找具有特定密碼的用戶,但這個幾率太小了(密碼和salt值都得和黑客使用的一樣才行)。