Какая разница между функциями хеширования и функциями шифрования

Python Senior Без компании
Какая разница между функциями хеширования и функциями шифрования
Ответы
Функции хеширования и шифрования служат разным целям: - **Хеширование**: - Преобразует данные в фиксированную строку (хеш). - Необратимо (нельзя восстановить исходные данные из хеша). - Используется для проверки целостности данных (например, пароли в базе данных). - Пример: `hashlib.sha256("password".encode()).hexdigest()` → `"5e8848...b48a"`. - **Шифрование**: - Преобразует данные в зашифрованную форму, которую можно расшифровать обратно. - Требует ключ для шифрования/дешифрования. - Используется для конфиденциальности (например, HTTPS). - Пример с `cryptography.fernet`: ``` from cryptography.fernet import Fernet key = Fernet.generate_key() cipher = Fernet(key) encrypted = cipher.encrypt(b"secret") decrypted = cipher.decrypt(encrypted) # b"secret" ``` **Ключевое отличие**: хеширование — одностороннее, шифрование — двустороннее.