当我尝试bcrypt或scrypt密码时,我在Flask中收到500服务器错误

时间:2014-04-15 00:29:20

标签: python postgresql flask psycopg2 bcrypt

我是Flask的新手,只是通过制作一个基本的应用程序来学习我的方法,但我在密码存储方面遇到了麻烦。我正在使用postgresql和psycopg2与this bcrypt包。如果我根本不尝试保护密码或使用SHA256,一切正常,但是当我尝试使用bcrypt时,我收到500服务器错误。这是我的代码:

uname = request.form['uname']
passwd = bcrypt.hashpw(request.form['passwd'], bcrypt.gensalt())
conn = psycopg2.connect("dbname=flask user=postgres host=127.0.0.1 password=mypassword")
cur = conn.cursor()
cur.execute("INSERT INTO users (uname, passwd) VALUES (%s, %s)", (uname, passwd))
conn.commit()
cur.close()
conn.close()

有谁知道我为什么会遇到这个问题? bcrypt可能需要很长时间吗?在我收到错误之前,它似乎花了很长时间才加载,但是它仍然可以吗?我的主要目标是使用bcrypt,但是我把它换成scrypt只是为了检查而且它也没有用。

1 个答案:

答案 0 :(得分:0)

我知道这是一个老问题,但我希望有同样问题的人能够以这种方式更快地得到帮助。

我们遇到了这个问题,debug = true告诉我们出了什么问题。 bcrypt的编码不正确。这应该解决它。

passwd = bcrypt.hashpw(str(request.form['passwd']), bcrypt.gensalt())