Вебинары Разобраться в IT Реферальная программа
Программирование Аналитика Дизайн Маркетинг Управление проектами
7 профессий по цене одной
07:05:47:06
дн. ч. мин. сек.
15 Окт 2024
2 мин
2351

Как работать с шифрованием и безопасностью в Python

В современном мире информационной технологии, обеспечение безопасности данных является одним из ключевых аспектов. В данной статье мы рассмотрим основные подходы к шифрованию и обеспечению безопасности в Python.

Шифрование с использованием симметричных ключей

Симметричное шифрование — это процесс, при котором один и тот же ключ используется для шифрования и дешифрования данных. В Python есть несколько библиотек, которые обеспечивают симметричное шифрование, одним из наиболее популярных является cryptography.

Пример с использованием библиотеки cryptography

from cryptography.fernet import Fernet

# Генерация ключа
key = Fernet.generate_key()
cipher_suite = Fernet(key)

# Шифрование данных
data = b"Hello, world!"
encrypted_data = cipher_suite.encrypt(data)

# Дешифрование данных
decrypted_data = cipher_suite.decrypt(encrypted_data)

print("Исходные данные:", data)
print("Зашифрованные данные:", encrypted_data)
print("Расшифрованные данные:", decrypted_data)

Шифрование с использованием асимметричных ключей

Асимметричное шифрование — это процесс, при котором используются два разных ключа: один для шифрования, а другой для дешифрования данных. Это обеспечивает более высокий уровень безопасности. В Python также есть несколько библиотек для работы с асимметричным шифрованием, например, cryptography.

Пример с использованием библиотеки cryptography

from cryptography.hazmat.primitives.asymmetric import rsa, padding
from cryptography.hazmat.primitives import serialization, hashes
from cryptography.hazmat.backends import default_backend

# Генерация пары ключей (публичный и приватный)
private_key = rsa.generate_private_key(
    public_exponent=65537,
    key_size=2048,
    backend=default_backend()
)
public_key = private_key.public_key()

# Шифрование данных
data = b"Hello, world!"
encrypted_data = public_key.encrypt(
    data,
    padding.OAEP(
        mgf=padding.MGF1(algorithm=hashes.SHA256()),
        algorithm=hashes.SHA256(),
        label=None
    )
)

# Дешифрование данных
decrypted_data = private_key.decrypt(
    encrypted_data,
    padding.OAEP(
        mgf=padding.MGF1(algorithm=hashes.SHA256()),
        algorithm=hashes.SHA256(),
        label=None
    )
)

print("Исходные данные:", data)
print("Зашифрованные данные:", encrypted_data)
print("Расшифрованные данные:", decrypted_data)

😉 Итак, теперь вы знаете основы работы с шифрованием и безопасностью в Python. Не забывайте продолжать изучать эту тему и практиковаться, используя различные библиотеки и методы. Удачи вам в обучении!

Проверь как ты усвоил материалы статьи
Пройди тест и узнай насколько ты лучше других читателей

Добавить комментарий