Untitled

 avatar
unknown
plain_text
a year ago
1.5 kB
3
Indexable
from cryptography.hazmat.primitives.ciphers import Cipher, algorithms, modes
from cryptography.hazmat.backends import default_backend
from base64 import b64decode

# Ключ шифрования и вектор инициализации должны быть байтовыми строками.
# Для AES-256 ключ должен быть длиной 32 байта (256 бит).
ENC_KEY = b'12312312312312312312312312312312'  # Заполнил до 32 байт
IV = b'1231231212312312'  # 16 байт, как требует AES

def decrypt(encrypted):
    # Декодируем данные из Base64, чтобы получить исходные зашифрованные данные
    encrypted_data = b64decode(encrypted)

    # Создаем объект дешифратора
    cipher = Cipher(algorithms.AES(ENC_KEY), modes.CBC(IV), backend=default_backend())
    decryptor = cipher.decryptor()
    
    # Дешифрование данных
    decrypted = decryptor.update(encrypted_data) + decryptor.finalize()
    
    # Возвращаем дешифрованный текст как строку UTF-8
    return decrypted.decode('utf-8')

# Пример использования
encrypted_text = ''  # Здесь должна быть строка с вашим зашифрованным текстом в формате Base64
try:
    decrypted_text = decrypt(encrypted_text)
    print('Decrypted:', decrypted_text)
except Exception as e:
    print('Error during decryption:', str(e))
Editor is loading...
Leave a Comment