Похожая проблема!
Все храню в бинарном виде в БД постгрес,
ключ один, его уже текстом вписал вместо переменной.
Если зашифровать и сразу отправить на дешифровку переменную, все хорошо работает, но если это делать разными командами то ерор!
from cryptography.fernet import Fernet
from config.data import CRIPTO_KEY
fernet = Fernet(b'xX8FN0tVdzXzgexIGQ9d51XMEIqnUiZQ2YSIohjCbFk=')
async def encrypt(data: str) -> bytes:
encrypted = fernet.encrypt(data.encode())
return encrypted
async def decrypt(encrypted_data: bytes) -> str:
print('encrypted_data = ', encrypted_data)
decrypted = fernet.decrypt(encrypted_data).decode()
return decrypted
вывод:
encrypted_data = b'gAAAAABmoB8uIq6bxP_NBAE5UIJBRkWHKPB4ddQepKN9vUNW5LaRQPW3YMJoc5QeeVsx5H48afLRjWPGDC3cXcr-VPRqm_S5sg=='
ошибка:
... lib/python3.10/site-packages/cryptography/fernet.py", line 118, in _get_unverified_token_data
raise InvalidToken
cryptography.fernet.InvalidToken