asp.net - 什么时候以明文形式存储密码是个好主意?

标签 asp.net asp.net-membership

我正在开发一个针对非技术用户的应用程序。我预计会有大量关于丢失密码和无法登录的支持电话。

我正在使用 ASP.NET 成员(member)资格提供程序,它提供 3 个存储密码的选项 - 明文、散列、加密。

鉴于此应用程序的性质,以明文形式存储密码是个好主意吗?以明文形式存储密码是否涉及任何法律问题?

最佳答案

从来没有。

永远没有在数据库中存储密码的充分理由。尤其是不是采用明文形式。您应该存储密码的哈希

您可以对用户做的最糟糕的事情就是通过明文电子邮件在互联网上广播他们“恢复的”密码。简单地存储密码的单向哈希非常容易,并且无法恢复

对于丢失的密码,您只需重置他们的密码并为他们提供一个临时密码,他们必须在登录时更改该密码。安全可靠。

人们经常对多个应用程序使用相同的密码(尤其是非技术用户)。因此您的应用程序可能会包含人们的银行帐户密码、电子邮件等。

无论您的应用程序多么简单,您都有责任保护用户密码的安全。

关于asp.net - 什么时候以明文形式存储密码是个好主意?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2094680/

相关文章:

c# - appsettings.json 中的 ASP.NET Core 强类型选项

c# - 创建用户时出错 - ASP.NET System.Web.Providers

asp.net - 如何构建和实现自定义成员(member)资格提供商?

c# - ajax工具包:TabContainer confirm when adding tab

c# - Image.GetThumbnailImage 方法和质量

ASP.net Windows 身份验证与使用 ActiveDirectoryMembershipProvider 的表单例份验证相比

c# - 自定义Membership provider时如何管理ProviderUserKey

c# - 是否可以将额外的自定义用户数据传递给自定义 ASP.NET 成员资格提供程序?

c# - HostingEnvironment.QueueBackgroundWorkItem 真的会延迟回收吗?

javascript - Jquery C# 中的数据集值