微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

bcrypt.checkpw 错误 unicode 对象必须被编码

如何解决bcrypt.checkpw 错误 unicode 对象必须被编码

我认为我的代码可以正常运行,但是当我从数据库提取它时,我收到此错误“bcrypt.checkpw 错误 unicode 对象必须编码”

这是我的代码。这只是对数据库的基本提交,然后将它们拉出并使用 bcrypt 检查...

import sqlite3 as sl
def db_input(query):
    connection = sl.connect("pword.db")
    cursor = connection.cursor()
    cursor.execute(query)
    connection.commit()
    connection.close()

def get_details():
    name='ls'
    password=b'hello'
    hashed=bcrypt.hashpw(password,bcrypt.gensalt())
    return name,hashed

def commit():
    inputs=get_details()
    query=f' insert into passwords(name,pword) values ("{inputs[0]}","{inputs[1]}")'
    db_input(query)    

def login():
    name='ls'
    password='hello'.encode()
    connection = sl.connect("pword.db")
    cursor = connection.cursor()
    query=f"select pword from passwords where name ='{name}'"
    cursor.execute(query)
    result=cursor.fetchall()
    connection.close()
    print(result[0][0])
    if bcrypt.checkpw(password,result[0][0]):
        print('yes')
    else: print('no')     

commit()
login() ```

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。