Какие два основных вида шифрования знаешь
Python
Senior
Без компании
Какие два основных вида шифрования знаешь
Ответы
Симметричное и асимметричное шифрование.
**Симметричное** использует один ключ для шифрования и дешифрования (AES, DES). Быстрое, но требует безопасной передачи ключа.
```
from cryptography.fernet import Fernet
key = Fernet.generate_key()
cipher = Fernet(key)
encrypted = cipher.encrypt(b"secret")
decrypted = cipher.decrypt(encrypted)
```
**Асимметричное** (RSA, ECC) использует пару ключей: публичный (шифрует) и приватный (дешифрует). Медленнее, но решает проблему передачи ключа.
```
from cryptography.hazmat.primitives.asymmetric import rsa
private_key = rsa.generate_private_key(public_exponent=65537, key_size=2048)
public_key = private_key.public_key()
```