bcrypt 是一個用於儲存密碼的哈希(Hash)演算法,和 MD5 相比 bcrypt 速度更慢也更安全,並且 bcrypt 也內建加鹽(Salt)。
參考資料:
GitHub - BcryptNet/bcrypt.net
安裝
先使用 NuGet 安裝 BCrypt.Net-Next 套件,或是使用 .NET CLI 執行以下指令安裝
dotnet add package BCrypt.Net-Next
最簡單範例
string hashPassword = BCrypt.Net.BCrypt.HashPassword("password");
Console.WriteLine(hashPassword);
// $2a$11$gcZfP8GJfoYaVx8a/CJFC.JGP2LjHV1wsruuGngBpvrxH6lCtOf8W
產生自訂 Salt
var salt = BCrypt.Net.BCrypt.GenerateSalt(10);
Console.WriteLine(salt);
// $2a$10$jOSOGMCYiXvNn8fCbi5vd.
var hashPassword = BCrypt.Net.BCrypt.HashPassword("password", salt);
Console.WriteLine(hashPassword);
// $2a$10$jOSOGMCYiXvNn8fCbi5vd./aaRfkNyZM3LyM5MLxTKXTsWzWNdAsK
驗證
string hashPassword = "$2a$10$jOSOGMCYiXvNn8fCbi5vd./aaRfkNyZM3LyM5MLxTKXTsWzWNdAsK";
var verify = BCrypt.Net.BCrypt.Verify("password", hashPassword);
Console.WriteLine(verify); // True
參考資料:
GitHub - BcryptNet/bcrypt.net
留言
張貼留言
如果有任何問題、建議、想說的話或文章題目推薦,都歡迎留言或來信: a@ruyut.com