2017-04-19 63 views
-2

哪些方法最適合將這些鹽漬/散列密碼保存到數據庫中?我正在考慮BCrypt或SHA51或PBKDF2,哪一個最適合?如何在C#中使用Asp.Net在MySQL數據庫中保存密碼

有人請告訴我如何在C#中使用Asp.net在Mysql數據庫中實現它們。

+1

您的第一部分適用於一個問題,但根據項目的性質,這可能更適合您。第二部分內容太廣泛,無法在一篇文章中討論。 –

+0

僅使用SHA512等散列函數是不夠的,只是添加鹽對提高安全性沒有多大作用。相反,使用隨機鹽和計算時間約100ms持續時間的函數,使用哈希值保存salt和迭代計數。 使用諸如'PBKDF2','Rfc2898DeriveBytes','password_hash','Bcrypt'或類似函數的函數。 問題的關鍵是讓攻擊者花費大量的時間從頻繁的密碼列表中查找密碼。 – zaph

+0

[NIST](https://www.nist.gov)目前推薦'PBKDF2'。參見[基於密碼的密鑰推導建議](http://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-132.pdf) – zaph

回答

2

如何將密碼保存到數據庫中?

如果你不得不問,你絕對不想自己實現這個。

如何實現[這]使用ASP.NET

你是幸運的,他們已經做到了你。它被稱爲ASP.NET Identity,可用於任何您可以想到的任何ORM和RDBMS。

再次,你做不是想要自己處理保存密碼。

相關問題