【发布时间】:2018-08-21 09:48:21
【问题描述】:
为了确保密码始终在数据库中存储、散列和加盐,我决定使用一个描述符,它会在提供密码时自动散列密码,例如 user.password = "jinja125"。
这是我的代码
from random import SystemRandom
from backports.pbkdf2 import pbkdf2_hmac, compare_digest
# ...snip...
@password.setter
def password(self, value):
# When a user is first created, give them a salt
if self._salt is None:
self._salt = bytes(SystemRandom().getrandbits(128))
self._password = self._hash_password(value)
但是当我尝试运行一些测试时,我得到了这个错误。
File "C:\Users\User\flask-python\site-tracker\app\users\models.py", line 34, in password
self._salt = bytes(random.SystemRandom().getrandbits(simple_bit_counts))
OverflowError: cannot fit 'int' into an index-sized integer
我怎样才能最好地解决这个错误?
【问题讨论】:
标签: python flask flask-sqlalchemy