【问题标题】:DotNetNuke - Plain text to Encrypted/Hashed passwordsDotNetNuke - 加密/散列密码的纯文本
【发布时间】:2016-07-30 03:04:29
【问题描述】:

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

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

【问题讨论】:

  • 不要加密密码,这只是稍微好一点,因为加密密钥必须可用。散列也不是加密。您需要使用诸如 PBKDF2 或 bcrypt 之类的东西,它们将使用盐和迭代计数对密码进行哈希处理。
  • 是的,我明白了。我只是专门寻找使用 DotNetNuke 站点执行此操作的实施建议/代码示例。

标签: encryption hash passwords asp.net-identity dotnetnuke


【解决方案1】:

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

然后您可以编写一个简单的模块,该模块使用计划文本获取所有用户,并使用来自 UserController API 的 ChangePassword API 调用重置他们的密码。它并不优雅,但可以完成工作。

【讨论】:

    猜你喜欢
    • 2013-06-21
    • 1970-01-01
    • 2015-01-29
    • 2011-02-18
    • 2011-06-23
    • 2018-01-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多