【发布时间】:2010-07-19 14:01:31
【问题描述】:
我有一个使用带有 SQL 后端的 ASP.NET 成员资格提供程序的旧应用程序。数据库中的密码设置为清除。我想加密这些密码,同时保留个人密码。我怎样才能以编程方式实现这一目标?
我知道为了让 ASP.NET 识别更改,我需要更改数据库密码格式、密码盐和密码本身。我还需要更改 ASP.NET 配置中的密码格式以使用加密密码格式。
基本上,我需要生成盐,获取密码,对密码应用加密,但我对如何实际加密密码有点迷茫。
【问题讨论】:
-
坏主意。您应该对密码进行哈希处理并保存哈希值——没有理由保留原始密码。
-
@George 我同意。但是,我无法控制一个商业决策。
-
哦,误解了:所以你有一个
SqlMembershipProvider和PasswordFormat=Clear,并且你想将其更改为PasswordFormat=Hashed或Encrypted而不强制所有人重置密码?你提到盐 - 所以你想要哈希不加密?您的要求是可恢复密码还是不强制更改密码?
标签: asp.net asp.net-membership