如何在从Web应用程序输入的数据库中以加密格式存储密码?

Sye*_*nus 6 c# asp.net sql-server-2008

在我的应用程序中有一个密码字段.当用户输入密码时,它应该加密该密码并存储到数据库中.当用户登录该应用程序时,应从数据库中获取密码并进行解密.

可能吗??

npi*_*nti 19

您可以查看链接,它可以帮助您开始正确的方向.

尽管如此,通常的做法是存储密码本身的哈希值,而不是密码的加密版本.散列将允许您检查用户是否输入了正确的密码(通过将数据库中的哈希值与用户输入的哈希值进行比较),而无需知道实际密码是什么.

这样做的好处是它通常更简单,更安全,因为您不需要加密/解密任何值.使用散列的缺点是你永远不能用户发送他们的密码(如果你打算提供某种'忘记我的密码'功能),而是你必须将它重置为一个新的随机密码.