隨機鹽值(salt)是什麼?洩露會出什麼問題?

時間 2021-05-29 23:16:58

1樓:

我覺得洩露了鹽,會有問題。假如是知道了md5(md5(password),salt)—假設通過資料庫或者通道獲得,又知道了salt。那攻擊者可以通過同樣的演算法—假設演算法也公開或被知曉,來窮盡所有password的可能(例如銀行密碼為六位數字,10的6次方,一百萬),那他所花的時間最多只是你的一百萬倍。

如你的電腦或atm計算md5(md5(password),salt)需要1毫秒,那攻擊者需要1萬秒即3小時。

不知是這樣嗎?所以如果洩露了上述鹽和雜湊值,雖然不能直接查彩虹表,但通過普通的計算能力(價值等同於你的電腦或atm),就可以破解簡單密碼!

2樓:勃不起來

那篇文章裡說到的確實是你講的這種做法。

如果這個salt值和資料庫一同洩露,攻擊者需要針對這個salt值再專門跑一遍彩虹表程式生成針對這個salt值的彩虹表,然後才能嘗試匹配,可見與之前沒有salt時可以直接用precomputed彩虹表爆破相比多了乙個重新計算的過程,增加了成本。如果salt值改為針對每個使用者單獨乙個,彼此不相同,那攻擊者的成本更高了,因為以前用拿到的salt跑一次彩虹表就可用於整個密碼資料庫,而現在只能用於一條密碼記錄了。

3樓:李小儼

剛查了相關資料,覺得自己應該是懂了。salt值只是為了防禦彩虹表,這個值不用考慮洩不洩露的問題,就算告訴黑客了,他也是無法根據雜湊後的值找到使用者密碼的。因為他根本無法根據雜湊後的值從彩虹表裡查到加了鹽值後的密碼。

4樓:

題主可參看wiki百科中的詞條:鹽(密碼學)。若翻不了牆,見下原文:

(Salt),在密碼學中,是指通過在密碼任意固定位置插入特定的字串,讓雜湊後的結果和使用原始密碼的雜湊結果不相符,這種過程稱之為「加鹽」。

安全因素通常情況下,當欄位經過雜湊處理(如MD5),會生成一段雜湊值,而雜湊後的值一般是無法通過特定演算法得到原始欄位的。但是某些情況,比如乙個大型的彩虹表,通過在表中搜尋該MD5值,很有可能在極短的時間內找到該雜湊值對應的真實字段內容。

加鹽後的雜湊值,可以極大的降低由於使用者資料被盜而帶來的密碼洩漏風險,即使通過彩虹表尋找到了雜湊後的數值所對應的原始內容,但是由於經過了加鹽,插入的字串擾亂了真正的密碼,使得獲得真實密碼的概率大大降低。

實現原理加鹽的實現過程通常是在需要雜湊的字段的特定位置增加特定的字元,打亂原始的字串,使其生成的雜湊結果產生變化。比如,使用者使用了乙個密碼:

x7faqgjw

經過MD5雜湊後,可以得出結果:

455e0e5c2bc109deae749e7ce0cdd397

但是由於使用者密碼位數不足,短密碼的雜湊結果很容易被彩虹表破解,因此,在使用者的密碼末尾新增特定字串(粗體下劃線為加鹽的字段):

x7faqgjwabcdefghijklmnopqrstuvwxyz

因此,加鹽後的密碼位數更長了,雜湊的結果也發生了變化:

4a1690d5eb6c126ef68606dda68c2f79

以上就是加鹽過程的簡單描述,在實際使用過程中,還需要通過特定位數插入、倒序或多種方法對原始密碼進行固定的加鹽處理,使得雜湊的結果更加不容易被破解或輕易得到原始密碼,比如(綠色字型為加鹽字串):

x7afabqgcjw

知乎中的「鹽值,鹽選 」中的「鹽」是什麼意思?

sun秒秒 今天看了這個題目我才明白其含義。但從心底說,我很反感鹽選這個詞!也不知裝酷還是什麼,知乎裡有許多讓人彆扭的詞。本來有話好好說就完了,非得整點亂七八糟的,讓人不舒服!哈哈!噴了,不知對錯? 千里 我回答問題一般是這樣 閒的時候答,閒的時間多些,就深度答些題,閒的時間少,就找點張口就來的問題...

什麼是知乎鹽值?

販夢先生 知乎鹽值就是對乙個賬號或者是乙個人進行了評分之後,合計得的分數的乙個綜合評分。知乎鹽值分成5個維度 基礎信用 內容創造 友善互動 遵守公約 社群建設 其中基礎信用是只要完善資料就可以獲得的,而社群建設是最能增加鹽值分的。 綠農千峽 使用知乎快一年,感受到鹽值對應乙個號的重要性不亞於乙個人的...

玫瑰鹽是什麼?與普通鹽有什麼區別?

白山黑水 根據每個人的體質不同,不能一概而論。比如加碘鹽和不加碘鹽 其實不是加碘好與不好的問題,是你的身體環境適不適合的問題。高礦鹽與礦源的關係非常大,那種不溶解是雜質,真正好的岩鹽,在核心礦脈處儲存的,應該不存在不能溶解的問題。比如巴基斯坦的喜馬拉雅鹽,它本來就是海水結晶沉澱的,所以不存在不能溶解...