[英]How to check hashed password stored in PSQL DB
我想通過對密碼進行哈希處理然后在PSQL DB上檢查哈希來驗證密碼
我正在嘗試比較哈希值-但我收到了Invalid Salt.
錯誤Invalid Salt.
這是我的代碼:
@app.route("/hello", methods=["POST", "GET"])
def hello():
email = request.form.get("email")
password = request.form.get("password")
password = bcrypt.generate_password_hash(password).decode('utf-8')
db.execute("INSERT INTO users (email, password) VALUES (:email,
:password)",{"email": email, "password": password})
db.commit()
和
@app.route("/check", methods=["POST", "GET"])
def check():
email = request.form.get("login_email")
check_email_in_db = db.execute("SELECT COUNT(*) FROM users WHERE email = :email", {"email": email}).fetchall()
if check_email_in_db[0][0] == 1 :
email = request.form.get("login_email")
password = request.form.get("login_password")
retrive_password_from_db = db.execute("SELECT password FROM
users WHERE email = :email", {"email": email}).fetchall()
retrive_password_from_db = retrive_password_from_db[0][0]
if bcrypt.check_password_hash(password, retrive_password_from_db):
return("this works")
else:
return("something is wrong")
好,我知道了。 我要做的就是在散列時指定回合:
password = bcrypt.generate_password_hash(password, 10).decode('utf-8')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.