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

Nic*_*ick 18 asp.net asp.net-membership

我正在开发针对非技术用户的应用程序.我希望大量的支持调用关于丢失的密码和无法登录.

我正在使用ASP.NET成员资格提供程序,它提供了3个用于存储密码的选项 - 明文,哈希,加密.

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

Rob*_*ino 67

决不.

从来没有一个很好的理由来存储密码在你的数据库,直到永远.特别是不是明文.你应该存储散列密码的唯一.

您可以对用户做的最糟糕的事情是通过明文电子邮件在Internet上广播他们的"恢复"密码.简单地存储无法恢复的密码的单向散列是如此容易.

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

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

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

  • @notnoop - 是的,Mint的案例与任何必须保护敏感数据(银行记录,私人信息等)的人一样.该数据只是*发生*是密码.它本身并不是*密码管理问题. (3认同)
  • +1那个.至于"忘记密码"舞蹈,我的技术是生成随机临时密码(当然加密),将其与正常密码分开存储,然后通过电子邮件发送给用户.然后,当用户使用该临时密码登录时,系统会提示他们输入新密码.这可以防止某人与其他人的帐户搞错,不必要地重置他们的密码. (2认同)

Geo*_*ton 19

以下是使用未加密密码的几个原因:

  1. 当您不尊重用户的隐私时.
  2. 当你即将被解雇你当前的工作,并希望留下持久的印象.
  3. 当您希望您的主要用户成为中国黑客时.

如果您认为这些项目中的任何一项与您的商业模式相符,那么请继续并保持密码未加密.

  • ...但请告诉我您的网站/应用程序的名称*首先*,这样我就可以与其他人做生意*. (8认同)

Smu*_*mur 11

不,永远不是一个好主意,不管你的申请多么愚蠢.


S.L*_*ott 9

如果您希望自己的网站被黑,并且必须保证您的用户数据被盗或损坏.

那是您以明文形式存储密码的时候.

  • 也许如果他和他的雇主有牛肉? (3认同)