Hash
SHA-256 詳盡搜尋
如果我們使用它來安全地儲存密碼(連同鹽),我如何計算破壞 SHA256 所需的計算次數?有沒有可以使用的公式?
例如:
密碼選擇為由小寫拉丁字母和數字組成的 5 個字元的字元串,並儲存為 SHA256(password XOR s)||s,其中 s 選擇為填充隨機內容的 5 字節數組。
可能的密碼搜尋空間 = $ 36^5 $ = 605 萬種可能的組合或 ~ $ 2^{26} $ . 如果密碼是隨機生成的,那將是 26 位熵,這不僅很弱而且毫無意義。
從這個角度來看,現代 GPU 的吞吐量約為每秒 10 億個 SHA-256 雜湊值。因此,破解帳戶的詳盡搜尋時間將是 60 毫秒。攻擊者每小時可以破解大約 60,000 個帳戶。
彩虹表不是問題,因為您使用的是每條記錄隨機鹽。它太短而無法完全有效,但考慮到它生成彩虹表的能力有多弱,需要的時間遠比打破所有賬戶要長得多。