WTForms 存储错误的密码哈希

0 投票
1 回答
672 浏览
提问于 2025-04-18 00:05

我正在使用WTForms-Alchemy来根据模型对象定义表单。我把一个字段定义为密码,代码是这样的:

password = db.Column(PasswordType(schemes=['pbkdf2_sha512']), nullable=True)

我把表单保存到PostgreSQL数据库里,但总是发现数据库里的密码哈希值不对。有趣的是,这种方法在我之前的一个使用MySQL的项目中运行得非常顺利。

现在我决定手动加密我的密码,使用pbkdf2_sha512.encryptpbkdf2_sha512.verify来处理,这样存储的哈希值就正确了。

我是不是漏掉了什么配置参数?这会不会是个bug呢?

1 个回答

1

我不太确定这里的问题是什么,但我想提一下,现在不推荐使用pbkdf2来存储用户密码的哈希值。如果你要保存用户的密码,最好用bcrypt。bcrypt是一种对计算机要求比较高的哈希算法,这样就让潜在的攻击者更难通过暴力破解来获取密码。

撰写回答