如何解密django pbkdf2_sha256算法密码?

问题描述 投票:0回答:2

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

示例: pbkdf2_sha256$150000$O9hNDLwzBc7r$RzJPG76Vki36xEflUPKn37jYI3xRbbf6MTPrWbjFrgQ=

python django django-authentication sha pbkdf2
2个回答
4
投票

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

对于大多数后端框架来说,这是正常情况。因为到目前为止,这是出于安全原因而做出的。密码经过哈希处理并保存在数据库中,因此即使恶意用户可以访问数据库,他也无法在那里找到有用的信息,或者很难用一些巨大的单词字典来破解哈希值。


0
投票

抱歉打扰,但我认为“哈希机制基本上使用有损压缩方法”并不完全是它的工作方式。 无损压缩保留输入的信息,而不是散列。 两个不同的输入可以具有相同的散列数据,但不能具有相同的无损压缩数据。此外,散列不是有损压缩,因为散列尤其不能重建原始数据,反之亦然。

© www.soinside.com 2019 - 2024. All rights reserved.