1
public static string GenerateHash(string password, string salt, int iterations)
{
var pbkdf2 = new Rfc2898DeriveBytes(password, Convert.FromBase64String(salt), iterations);
var keyBytes = pbkdf2.GetBytes(32);
return Convert.ToBase64String(keyBytes);
}
我得到一個哈希密碼是用於一個zip檔案,但我不知道我是否實際上正確檢索哈希。這是在c#中的PBKDF2的正確實現
我生成的鹽的方法是完全一樣有描述,只是在一個單獨的方法。 原因是我想將salt作爲註釋存儲在zip存檔中。 這樣,當我們的程序嘗試打開它時,它知道要添加到用戶的密碼中。 我認爲這是相當安全的? 我聽說一個暴露的鹽不是特別危險 – user5113199
@ user5113199我不能評論這裏的具體情況,但一般來說鹽漬的目的是防止彩虹表,而不是使任何密碼「更安全」。所以從這個角度來看,鹽應該是公開的。請記住,解鎖zip文件是一個脫機過程,bruteforce可以在全功能下發生,因此瞭解salt *會減少攻擊者的複雜程度。 – poke
@ user5113199 Salt的意思是公開的 - 存儲它們的常用方法是將它們預先加密到密文。所以瞭解鹽並不會降低安全性。 – ckuri