【问题标题】:Storing password as md5 in neo4j?在neo4j中将密码存储为md5?
【发布时间】:2015-04-20 12:24:54
【问题描述】:

主要编辑:我有一个 Neo4j 数据库记录用户信息,如姓名、位置、电子邮件和密码。出于安全原因,我想将密码记录存储在 md5 中。 Neo4j数据库中如何将用户输入的密码转换为md5?

这是一个 Django 应用程序,我需要通过在 Neo4j 中将密码存储为 md5 来保护用户信息。

提前致谢!

【问题讨论】:

  • 认为您可能需要添加更多细节来说明您正在尝试做什么、Neo4j 如何与您的应用程序集成、您正在使用什么技术等等。
  • 除了 Neo4j,你真的应该使用比 MD5 更好的东西。理想情况下是 bcrypt

标签: authentication neo4j md5


【解决方案1】:

您需要在将其存储到 neo4j 之前在应用程序级别对其进行编码。就像您对其他数据库所做的那样。

在 django 中会是:

userpwd=str("mySuperPassword")
hashedpw=md5.new(userpwd)

// 然后存入neo

【讨论】:

  • 我认为 MD5 是个坏主意,以至于我也在劫持答案评论线程。使用 BCrypt! codahale.com/how-to-safely-store-a-password
  • 我了解你的观点 ;-)
  • 这是一个非常糟糕的主意。 Md5超级容易破解。 Bcrypt 被认为是一个很好的选择。您可能还想看看其他现代加密库,例如 libsodium 或 NaCl。
【解决方案2】:

使用 MD5 存储密码是个坏主意。 MD5 密码太容易破解,而且已经有好几年了。在您选择的编程语言中使用 bcrypt,直到有人在 Neo4J 中实现强加密。

【讨论】:

    【解决方案3】:

    不用担心 MD5 存储,让 Neo4j 为您处理。您可以使用 API 让用户在首次使用时设置密码 [1],并让用户在后续使用时安全地进行身份验证 [2]。另请参阅文档here。

    [1] 网址:http://neo4j.com/docs/stable/rest-api-security.html#rest-api-user-status-on-first-access

    [2] 网址:http://neo4j.com/docs/stable/rest-api-security.html#rest-api-changing-the-user-password

    【讨论】:

    • 谢谢。但我的问题不在于 Neo4j 数据库帐户访问。我编辑了这个问题。我有一个用户信息节点(可以说是“用户”节点),出于安全原因,我想通过他们的 md5 等价物来跟踪数据库中的密码。
    • 恐怕没有简单的答案。此外,您可能需要重新考虑存储密码而不是哈希。
    猜你喜欢
    • 1970-01-01
    • 2011-10-10
    • 1970-01-01
    • 2010-11-09
    • 1970-01-01
    • 2013-05-19
    • 1970-01-01
    • 2020-06-16
    • 1970-01-01
    相关资源
    最近更新 更多