我有一个使用ASP.NET会员提供程序和SQL后端的传统应用程序。 数据库中的密码设置为明文。 我想在保留个人密码的同时加密这些密码。 我该如何通过编程实现这一目标?
我知道为了让ASP.NET识别更改,我需要更改数据库密码格式、密码盐和密码本身。 我还需要更改ASP.NET配置中的密码格式,以使用加密的密码格式。
基本上,我需要生成一个盐,获取密码,对密码应用加密,但我不太清楚如何实际加密密码。
我有一个使用ASP.NET会员提供程序和SQL后端的传统应用程序。 数据库中的密码设置为明文。 我想在保留个人密码的同时加密这些密码。 我该如何通过编程实现这一目标?
我知道为了让ASP.NET识别更改,我需要更改数据库密码格式、密码盐和密码本身。 我还需要更改ASP.NET配置中的密码格式,以使用加密的密码格式。
基本上,我需要生成一个盐,获取密码,对密码应用加密,但我不太清楚如何实际加密密码。
创建一个小应用程序连接到数据库并对所有密码进行哈希处理。
更新您的应用程序配置以将密码哈希处理(删除“Clear”指令,因为哈希处理是默认值)。
我建议您使用盐值进行哈希处理。
这个网页包含了您需要的所有哈希信息:http://www.obviex.com/samples/hash.aspx
您需要遍历记录并更新它们。
然后在您的代码中更改密码检查逻辑。
SqlMembershipProvider
,其中PasswordFormat=Clear
,您想将其更改为PasswordFormat=Hashed
或Encrypted
,而不强制每个人重置密码?您提到盐 - 所以您想要哈希而不是加密?您的要求是可恢复密码还是不强制更改密码? - Rup