[
嗨,我正在尝试使用插入哈希密码
werkzeug.security.generate_password_hash(password,method='pbkdf2:sha256',salt_length=8)
但是我得到了内部服务器错误,因为我在错误屏幕截图的第一张图片上突出显示了这一行
我正在使用CS50IDE、python、sqlite3、werkerzeug安全库
短暂性脑缺血发作
以下是我的路线代码:
@app.route("/register", methods=["GET", "POST"])
def register():
"""Register user"""
# Forget any user_id
session.clear()
# User reached route via POST (as by submitting a form via POST)
if request.method == "POST":
# Ensure username was submitted
if not request.form.get("username"):
return apology("must provide username", 403)
# Ensure password was submitted
elif not request.form.get("password"):
return apology("must provide password", 403)
# Ensure password was submitted
elif not request.form.get("password2"):
return apology("must re-type password", 403)
# Check the password match
if request.form.get("password") != request.form.get("password2"):
return apology("your password didn't match")
# Query database for existing usernames
rows = db.execute("SELECT * FROM users WHERE username = :username", username=request.form.get("username"))
# Ensure username not exists
if len(rows) == 1:
return apology("username exists, please select another")
# Otherwise insert the user to the users TABLE
else:
hashed_pass = generate_password_hash((request.form.get("password")), method='pbkdf2:sha256', salt_length=len(request.form.get("password")))
db.execute("INSERT INTO users (username, hash) VALUES (:username, ?)",
username=request.form.get("username"), hash=hashed_pass)
# Return apology if cannot register
# Query database for username to check
rows = db.execute("SELECT * FROM users WHERE username = :username", username=request.form.get("username"))
if len(rows) != 1:
return apology("Sorry something went wrong, please try again")
# If register succesful
else:
return redirect("/login")
# User reached route via GET (as by clicking a link or via redirect)
else:
return render_template("register.html")
插入到用户中的内容应该如下所示
或
相关问题 更多 >
编程相关推荐