Fernet Encrypt_key и Decrypt_key одинаковы, но все равно выдают ошибку
Я создал шифрование и расшифровку файла fernet с помощью python-cryptography. Я могу зашифровать файл, но когда я расшифровываю файл с тем же ключом, я получаю ошибку недействительного токена.
Код: ENCRYPTION & DECRYPTION
def encrypt_file(blob_name):
key = key_gen()
fernet = Fernet(key)
with open(os.path.join('./static/temp/', blob_name), 'rb') as file:
original = file.read()
encrypted = fernet.encrypt(original)
with open(os.path.join('./static/temp/', blob_name), 'wb') as encrypted_file:
encrypted_file.write(encrypted)
def decrypt_file(blob_name):
print(blob_name)
with open('./static/temp/filekey.key', 'rb') as filekey:
key = filekey.read()
fernet = Fernet(key)
with open('./static/temp/'+blob_name, 'rb') as enc_file:
print(enc_file)
encrypted = enc_file.read()
print(encrypted)
decrypted = fernet.decrypt(encrypted)
print(decrypted)
with open(os.path.join('./static/temp/', blob_name), 'wb') as dec_file:
dec_file.write(decrypted)
Дерево папок:
project_folder
-static
-- temp
--- blob_name
app.py
gcpdata.py
Ошибка:
Traceback (most recent call last):
File "\AppData\Local\Programs\Python\Python39\lib\site-packages\flask\app.py", line 2077, in wsgi_app
response = self.full_dispatch_request()
File "\AppData\Local\Programs\Python\Python39\lib\site-packages\flask\app.py", line 1525, in full_dispatch_request
rv = self.handle_user_exception(e)
File "\AppData\Local\Programs\Python\Python39\lib\site-packages\flask\app.py", line 1523, in full_dispatch_request
rv = self.dispatch_request()
File "\AppData\Local\Programs\Python\Python39\lib\site-packages\flask\app.py", line 1509, in dispatch_request
return self.ensure_sync(self.view_functions[rule.endpoint])(**req.view_args)
File "\PROJECT\app.py", line 47, in download
decrypt_file('./static/temp/'+list_blobs(bucket_name))
File "\PROJECT\gcpdata.py", line 117, in decrypt_file
decrypted_data = f.decrypt(encrypted_data)
File "\AppData\Local\Programs\Python\Python39\lib\site-packages\cryptography\fernet.py", line 88, in decrypt
return self._decrypt_data(data, timestamp, time_info)
File "\AppData\Local\Programs\Python\Python39\lib\site-packages\cryptography\fernet.py", line 145, in _decrypt_data
self._verify_signature(data)
File "\AppData\Local\Programs\Python\Python39\lib\site-packages\cryptography\fernet.py", line 129, in _verify_signature
raise InvalidToken
cryptography.fernet.InvalidToken