Encryption DotNetNuke-将明文转换为加密/哈希密码

Encryption DotNetNuke-将明文转换为加密/哈希密码,encryption,hash,passwords,asp.net-identity,dotnetnuke,Encryption,Hash,Passwords,Asp.net Identity,Dotnetnuke,我继承了一个DotNetNuke网站,该网站由一位认为将用户密码存储为纯文本是一个好主意的人创建和管理,因为他可以轻松查找密码,告诉用户如果忘记了密码是什么,并在出现问题时以他们的身份登录。在我从心脏病发作中恢复过来后,我发现了这一点,并让我的思维摆脱了那种认为这有多愚蠢的想法,我需要修复它 我知道要更改web.config设置以使用正确的密码配置,但我希望其他必须使用DotNetNuke网站进行此操作的人可能会提供一些关于最佳方法的指导。我应该仅仅使用标准的.NET代码并编写一个应用程序来循环

我继承了一个DotNetNuke网站,该网站由一位认为将用户密码存储为纯文本是一个好主意的人创建和管理,因为他可以轻松查找密码,告诉用户如果忘记了密码是什么,并在出现问题时以他们的身份登录。在我从心脏病发作中恢复过来后,我发现了这一点,并让我的思维摆脱了那种认为这有多愚蠢的想法,我需要修复它


我知道要更改web.config设置以使用正确的密码配置,但我希望其他必须使用DotNetNuke网站进行此操作的人可能会提供一些关于最佳方法的指导。我应该仅仅使用标准的.NET代码并编写一个应用程序来循环并更改它们,还是需要使用DotNetNuke用户对象?任何文章链接或示例代码都会非常有用。我已经找到了一些关于这样做的帖子,但不是在DotNetNuke网站的上下文中,我不确定是否有任何特殊的考虑需要考虑。

遗憾的是,我知道没有任何真正的文档可以处理这个问题。我的建议是将web.config更改为hash。完成此操作后,用户重置将开始使用新格式


然后,您可以编写一个简单的模块,用计划文本捕获所有用户,并使用UserController API中的ChangePassword API调用重置他们的密码。这并不优雅,但可以完成任务

不要加密密码,这只是稍微好一点,因为加密密钥必须可用。散列也不是加密。你需要使用诸如PBKDF2或bcrypt之类的东西,用salt和迭代计数对密码进行散列。是的,我理解。我只是专门寻找使用DotNetNuke站点实现此功能的实现建议/代码示例。