【发布时间】:2019-10-31 21:59:02
【问题描述】:
我正在将 Flask 用于 Web 登录页面。我正在尝试利用 sha256 密码加密,但我不知道为什么行 sha256_crypt.verify(password,pass_data) 会抛出标题错误。
我有什么遗漏吗?如果我可以提供更多详细信息,请询问,也许提供一些有关如何调试的说明。谢谢。
@app.route("/login", methods=["GET","POST"])
def login():
if request.method == "POST":
username= str(request.form['username'])
password = request.form.get('password')
cursor = mydb.cursor(MySQLdb.cursors.DictCursor)
cursor.execute("SELECT * FROM user WHERE username ='"+ username +"'")
userdata = cursor.fetchone()
usernamedata = userdata['username']
passworddata = userdata['password']
if usernamedata is None:
flash("Incorrect username","danger")
return render_template("login.html")
else:
for pass_data in passworddata:
if sha256_crypt.verify(password,pass_data):
flash("You are now login","success")
return redirect(url_for('profile'))
else:
flash("Incorrect password!")
return render_template("login.html")
return render_template("login.html")
【问题讨论】:
-
我觉得大家看到实际的错误信息会很方便,这样你就不用去猜测是哪一行抛出了异常。
-
欢迎来到 Stack Overflow!我编辑了您的问题的标题以包含您正在调用的函数的名称,因此更多了解该主题的人会看到它。有关格式化的更多信息,请参阅编辑帮助。请在您遇到的特定错误消息中进行编辑,以防有必要识别特定问题。祝你好运!
标签: python mysql flask sha256 password-encryption