在散列之前是否將代碼中存儲的常量字符串添加到密碼中使得攻擊者難以找出原始密碼?在散列之前是否將一個常量字符串添加到用戶的密碼使其更安全?
這個常量字符串是除鹽之外的。因此,Hash(password + "string in code added to every password" + randomSaltForEachPassword)
通常情況下,如果攻擊者拿到他們的數據庫,他們可能通過蠻力找出某人的密碼。數據庫包含與每個密碼相對應的鹽分,因此他們會知道應該用什麼方法來限制他們的蠻力嘗試。但是,通過代碼中的常量字符串,攻擊者還必須獲得源代碼,以瞭解要對其每個暴力試圖追加什麼內容。
我認爲這會更安全一些,但我希望得到別人的想法,同時也要確保我不會無意中使其不那麼安全。
確定嗎? salt存儲在數據庫中,所以如果攻擊者擁有數據庫,那麼他們就知道每個密碼的含鹽量。但是對於代碼中的字符串,攻擊者是否也需要獲取源代碼(或者弄清楚字符串是以其他方式)? – Kyle 2011-03-22 15:46:59
1 - 不顯示用戶密碼也很重要。用戶經常在許多不同的網站上使用相同的密碼,如果我的網站被黑客入侵,我不希望黑客能夠獲得用戶的密碼。 2 - 你能提供一個鏈接或一些闡述嗎?鹽是密碼中出現的已知值... 3 - 含鹽意味着彩虹桌無用,這意味着每個用戶的哈希密碼必須分別強制強制。這需要更長的時間,但仍然可以通過這種方式檢索密碼。 – Kyle 2011-03-22 16:52:33
@kyle:查看其他信息 – NotMe 2011-03-22 19:17:49