我需要在數據庫中存儲用戶名和密碼。密碼顯然應該被加密。我們確實有一些其他網站用來加密密碼的舊代碼,但我不確定這是否安全。Asp.net Core PasswordHasher <T>問題
我正在研究使用Asp.net Core PasswordHasher類。
我如下使用它:
PasswordHasher<string> pw = new PasswordHasher<string>();
string s1 = pw.HashPassword("Bob", "Apple");
string s2 = pw.HashPassword("Bob", "Apple");
var v1 = pw.VerifyHashedPassword("Bob", s1, "Apple");
var v2 = pw.VerifyHashedPassword("Bob", s2, "Apple");
V1和V2是成功的,但由於某種原因S1和S2是不相等的(隨機鹽吧?)。
PasswordHasher以任何方式綁定到機器上?應用程序將在Web場中運行,因此它應該與機器無關並在場中的所有計算機上進行驗證。
這是存儲密碼的密碼安全方式嗎?
關於原始函數調用:我使用ASP.NET核心數據保護堆棧創建了獨立(不依賴於Identity)密碼散列器:https://github.com/henkmollema/CryptoHelper。 –