Я пытаюсь расшифровать зашифрованные данные, которые хранятся в базе данных, но получаю сообщение об ошибке типа:
TypeError: невозможно объединить байты в str
Это мой код:
password = b'password shared between Alice and Bob'
message = b"This is a message for Bob's eyes only"
kdf = pwhash.argon2i.kdf
salt = utils.random(pwhash.argon2i.SALTBYTES)
ops = pwhash.argon2i.OPSLIMIT_SENSITIVE
mem = pwhash.argon2i.MEMLIMIT_SENSITIVE
key = kdf(secret.SecretBox.KEY_SIZE, password, salt,opslimit=ops, memlimit=mem)
box = secret.SecretBox(key)
nonce = utils.random(secret.SecretBox.NONCE_SIZE)
encrypted = box.encrypt(message, nonce)
sql = "INSERT INTO encrypted (datastored) VALUES (%s);"
cur.execute(sql,(str(encrypted),))
conn.commit()
sql = "SELECT datastored from encrypted"
cur.execute(sql)
row_value = cur.fetchone()[0]
key_for_decryption = kdf(secret.SecretBox.KEY_SIZE, password,salt, opslimit=ops, memlimit=mem)
decryption_box = secret.SecretBox(key_for_decryption)
received = decryption_box.decrypt(row_value)