我做了一個用戶註冊,我醃過用戶密碼並使用SHA256散列它。 以後,當用戶需要登錄到我的系統時,我需要將他的密碼進行鹽漬和散列,所以我: 1.從數據庫0123中恢復salt「string」2.將salt轉換爲字節 3.創建一個新的byte [] = [inputPassword.length + salt.length] 4.並散列。C#:比較密碼散列與用戶輸入不同的大小,當認證用戶
現在新的哈希比原始哈希短...(使用相同的散列函數)
給了這些信息,你怎麼看待這個問題可能是... 被存儲在我的數據庫鹽爲CHAR錯了,如果是的話我應該怎樣保存它?
注意:在字節級別上比較兩個散列。 注:所有的用戶信息都存儲在數據庫中的密碼和鹽爲CHAR
預先感謝您
您可以向我們提供您的代碼嗎?也許一些例子,都是從你的代碼和存儲的數據庫值中生成的? – sisve 2012-01-17 07:18:41
代碼太大,加上它在不同的機器上:(但... 似乎鹽從數據庫檢索時是相同的,但問題是當它轉換爲字節時,我使用'Encoding.Unicode.GetBytes(鹽);'似乎這使得一個問題......因爲蜇都看起來很好... 將鹽轉換成字節時提出的問題... – Amait 2012-01-18 11:00:09