Py学习  »  Django

django-限制前一个密码中出现“n”或更多字符

codingenious • 4 年前 • 1435 次点击  

我使用django进行密码管理,我知道django使用单向散列存储密码。我的应用程序正在使用 django.contrib.auth.hashers.PBKDF2PasswordHasher

我有一个表PasswordHistory,其中保存了最后10个密码。使用django哈希保存密码。

我想限制用户在以前的密码中使用“n”或更多字符的密码。现在,这是不可能的,因为我无法从哈希字符串中获取密码。

有没有办法用django来做到这一点?否则,我将不得不使用自己的加密/解密逻辑保存密码。我知道这不是一种安全的方式,但可能是我最后的选择。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/127924
文章 [ 1 ]  |  最新文章 4 年前
sytech
Reply   •   1 楼
sytech    4 年前

不,这在使用哈希密码时是不可能的。存储散列的全部意义在于不存储密码。

你可以阻止 准确的 与以前的密码匹配,但不是近似/模糊匹配。

不要试图以可逆状态、加密或其他方式存储密码。这样做的网站有一个耻辱大厅。加密密码是非常困难的 仅仅 比以明文存储更安全,而且实际上根本不安全。没有理由这么做。