Шифрование Реализация шифрования с использованием AES и SHA-256

misha

Участник
18 Июл 2025
22
5
0 ₽

Установка необходимых библиотек​

Для начала установите библиотеку cryptography, которая предоставляет удобный интерфейс для работы с шифрованием.

Bash:
pip install cryptography

Пример кода​

Python:
from cryptography.fernet import Fernet
import os
import hashlib

# Генерация ключа
def generate_key():
return Fernet.generate_key()

# Хеширование пароля
def hash_password(password):
return hashlib.sha256(password.encode()).hexdigest()

# Шифрование данных
def encrypt_data(data, key):
fernet = Fernet(key)
encrypted_data = fernet.encrypt(data.encode())
return encrypted_data

# Дешифрование данных
def decrypt_data(encrypted_data, key):
fernet = Fernet(key)
decrypted_data = fernet.decrypt(encrypted_data).decode()
return decrypted_data

# Пример использования
if __name__ == "__main__":
# Генерация ключа
key = generate_key()
print(f"Сгенерированный ключ: {key.decode()}")

# Ввод данных
data = input("Введите данные для шифрования: ")

# Шифрование
encrypted = encrypt_data(data, key)
print(f"Зашифрованные данные: {encrypted.decode()}")

# Дешифрование
decrypted = decrypt_data(encrypted, key)
print(f"Дешифрованные данные: {decrypted}")

Объяснение кода​

  • Генерация ключа: Используется метод generate_key() для создания уникального ключа шифрования.
  • Хеширование пароля: Метод hash_password() использует SHA-256 для хеширования пароля, что добавляет дополнительный уровень безопасности.
  • Шифрование и дешифрование: Методы encrypt_data() и decrypt_data() используют библиотеку Fernet для шифрования и дешифрования данных.

Заключение​

Этот код предоставляет базовую реализацию шифрования с использованием AES и SHA-256. Для повышения безопасности можно рассмотреть использование более сложных алгоритмов, таких как Post-Quantum Cryptography (криптография, устойчивая к квантовым атакам), но они требуют более сложной реализации и могут быть не так широко поддерживаемы в текущих библиотеках.
 
Активность
Пока здесь никого нет