我想检查输入的密码是否与数据库中存储的密码相同,但是当我使用它时,bcrypt.checkpw()它会返回一个错误,指出它需要一个字符串或字节,因为 SQL 查询返回一个元组。我找不到将数据库响应转换为元组中的字节以使其兼容的方法。
sql = ''' SELECT password FROM user_data WHERE username=? '''
username = input('Input username: ')
password = bytes(input('Input Password: '), encoding='utf-8')
cur = conn.cursor()
cur.execute(sql, (username,))
rows = cur.fetchall()
for row in rows:
if bcrypt.checkpw(password, row):
details = (user_id, username, password)
print('logged in')
return details
break
杨魅力
相关分类