将临时/机器生成的密码作为明文存储在数据库中会有多大的安全问题?
我知道密码应该使用带盐的单向哈希函数进行加密。对于用户提供的密码尤其如此,因为用户通常会一遍又一遍地重复使用它们。如果数据库被盗,窃贼可能能够访问 3 方网站上的用户帐户,例如:水电费、社交网络,甚至是在线银行。
将临时/机器生成的“欢迎”或“重置”密码作为明文存储在数据库中会有多大的问题?密码将通过电子邮件发送给用户,并且必须在登录时更改。然后他们提供的密码将被散列。
我问的原因是有一些很好的属性可以将临时密码存储为明文。例如,如果用户没有收到“欢迎”或“重置”电子邮件,管理员可以快速查找他们的临时密码。
由于临时密码是机器生成的,如果数据库被盗,窃贼将无法访问用户登录的任何第三方网站。然而,小偷将能够登录到生成临时密码的应用程序。
为这些密码分配一个小的“过期时间”会限制暴露,但总的来说,我只是想看看这种方法会有多危险。