【问题标题】:How to decrypt django pbkdf2_sha256 algorthim password?如何解密 django pbkdf2_sha256 算法密码?
【发布时间】:2021-03-14 04:58:34
【问题描述】:

我需要使用 Django 的 user_password 明文。我尝试了很多方法来获取 user_password 中的明文。但它不起作用。所以,我分析了Django用户密码是如何生成的。它使用 Django 核心模型中的 make_password 方法。在此方法中,使用 (pbkdf2_sha256) 算法生成散列代码。如果有可能解密密码。

示例: pbkdf2_sha256$150000$O9hNDLwzBc7r$RzJPG76Vki36xEflUPKn37jYI3xRbbf6MTPrWbjFrgQ=

【问题讨论】:

  • 为什么要解密密码?
  • 我需要检查是否有空格的密码。这个目的只有我需要解密。
  • 如果您想禁止密码包含空格。创建用户时应该禁止它。哈希是一种单向加密,所以你不能检查它。
  • 还有什么办法吗?

标签: python django django-authentication sha pbkdf2


【解决方案1】:

正如您已经看到的,在这种情况下,Django 使用像 SHA256 这样的散列方法。散列机制基本上使用有损压缩方法,因此无法解密散列消息,因为它们是不可逆的。因为它不是加密,也没有像解密这样的反向方法。以哈希形式存储密码是安全的,因为只有密码的创建者应该知道原始密码,而后端系统只是比较哈希值。

这是大多数后端框架的正常情况。因为到目前为止,这是出于安全原因。密码被哈希并保存在数据库中,这样即使恶意用户访问了数据库,他也无法在其中找到有用的信息,或者用一些巨大的字典很难破解哈希。

【讨论】:

    猜你喜欢
    • 2013-04-16
    • 2021-01-14
    • 2020-12-01
    • 2022-11-19
    • 2021-11-26
    • 2013-06-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多