我需要使用密码提醒向umbraco用户(会员)发送邮件。
我使用umbraco.cms.businesslogic.member.Member class:
Member member = Member.GetMemberFromLoginName(userName);
string password = member.Password;
但是,当我查看这个密码时,显然是一个“编码”(加密)密码,而不是“清晰”密码..
有没有办法获得“清除”密码?
答案 0 :(得分:3)
希望不是。
以一种允许恢复密码的方式存储密码是非常糟糕的做法。
您可以做什么而不是"密码提醒"是"密码重置":给他们发送一封电子邮件,其中包含一个允许他们重置密码的链接。受一些唯一的号码保护,该号码在几小时后过期,并且只能使用一次。
答案 1 :(得分:3)
在创建帐户期间,密码会被哈希(并且很可能已被盐渍)。该网站不知道明文密码是什么 - 它只能比较用户输入的密码框中的哈希(单向加密函数,理论上是不可逆转的)与存储的哈希值。
“忘记密码”应该验证帐户的所有者并发送带有密码重置链接的电子邮件。发送明文密码电子邮件是一个巨大的安全违规行为,因为用户经常在多个网站上重复使用他们的密码,并且获得用户电子邮件的访问权限会泄露可以在数百个不同网站/系统上进行数百次尝试的密码。