Проблема с извлечением байт из бд

Есть бд в mySQL, один из столбцов имеет тип BLOB(байты). Но при извлечении и использовании его в дальнейшем, мне указывает, что это тип данных кортеж. В связи с чем у меня в коде вот такая ошибка

Traceback (most recent call last):
File "D:\socket\database.py", line 181, in <module>
new_password = hashlib.pbkdf2_hmac('sha256', new_password.encode('utf-8'), salt, 100000)
TypeError: a bytes-like object is required, not 'tuple'

А вот собственно сам код. Это извлечение кэшированного пароля из бд и соли. А после проверка совпадают ли пароли в бд и введенный пользователем пароль.

def sign_in(login):

try:
    connection = pymysql.connect(
        host="localhost",
        port=3306,
        user="root",
        password="soldan1512",
        database="chat_base",
        cursorclass=pymysql.cursors.DictCursor
    )
    print("Successfully connected...")
    print("#" * 20)

    try:

        # insert data

        values = (login, )
        with connection.cursor() as cursor:
            select_password = "SELECT password FROM registration_table WHERE login = %s"
            cursor.execute(select_password, values)
            rows_password = cursor.fetchall()
            select_salt = "SELECT password FROM registration_table WHERE login = %s"
            cursor.execute(select_salt, values)
            rows_salt = cursor.fetchall()
            print("#" * 20)
            return rows_password, rows_salt



    finally:
        connection.close()

except Exception as ex:
    print("Connection refused...")
    print(ex)
password, salt = sign_in('danila')
new_password = '123'
new_password = hashlib.pbkdf2_hmac('sha256', new_password.encode('utf-8'), salt, 100000)
if password == new_password:
    print('yes')

Данные в бд есть, и слово по которому я извлекаю данные из бд, тоже там присутствует


Ответы (0 шт):