WTForms 存储错误的密码哈希
我正在使用WTForms-Alchemy来根据模型对象定义表单。我把一个字段定义为密码,代码是这样的:
password = db.Column(PasswordType(schemes=['pbkdf2_sha512']), nullable=True)
我把表单保存到PostgreSQL数据库里,但总是发现数据库里的密码哈希值不对。有趣的是,这种方法在我之前的一个使用MySQL的项目中运行得非常顺利。
现在我决定手动加密我的密码,使用pbkdf2_sha512.encrypt
和pbkdf2_sha512.verify
来处理,这样存储的哈希值就正确了。
我是不是漏掉了什么配置参数?这会不会是个bug呢?
1 个回答
1
我不太确定这里的问题是什么,但我想提一下,现在不推荐使用pbkdf2来存储用户密码的哈希值。如果你要保存用户的密码,最好用bcrypt。bcrypt是一种对计算机要求比较高的哈希算法,这样就让潜在的攻击者更难通过暴力破解来获取密码。