我想檢查輸入的密碼是否與數(shù)據(jù)庫(kù)中存儲(chǔ)的密碼相同,但是當(dāng)我使用它時(shí),bcrypt.checkpw()它會(huì)返回一個(gè)錯(cuò)誤,指出它需要一個(gè)字符串或字節(jié),因?yàn)?SQL 查詢返回一個(gè)元組。我找不到將數(shù)據(jù)庫(kù)響應(yīng)轉(zhuǎn)換為元組中的字節(jié)以使其兼容的方法。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
在 Bcrypt (Python) 中使用 SQLite 返回作為密碼字段
阿波羅的戰(zhàn)車
2024-01-12 10:36:09