Хешування
- Призначення: Хешування використовується для забезпечення цілісності даних та зберігання чутливої інформації (наприклад, паролів) у безпечному вигляді.
- Характеристики:
- Одностороння функція: Хешування незворотне, тобто після того, як дані були загішовані, їх неможливо повернути до початкового вигляду.
- Фіксована довжина виводу: Вивід хеш-функції має фіксовану довжину, незалежно від розміру вхідних даних.
- Стійкість до колізій: Хороші хеш-функції мінімізують ймовірність того, що два різні вхідні значення дадуть однаковий хеш.
Приклад: Хешування пароля в PHP
Шифрування
- Призначення: Шифрування використовується для захисту конфіденційності даних, щоб лише авторизовані особи могли отримати доступ до інформації.
- Характеристики:
- Двозначна функція: Шифрування зворотне, тобто зашифровані дані можуть бути розшифровані до початкового вигляду за допомогою відповідного ключа.
- Змінна довжина виводу: Довжина виводу може варіюватися в залежності від використовуваного алгоритму шифрування та довжини вхідних даних.
- Ключова залежність: Для шифрування та розшифрування необхідні ключ або пара ключів (публічний і приватний).
Приклад: Шифрування та розшифрування даних в PHP (за допомогою OpenSSL)
Порівняння відмінностей:
Перекладено з: Hash vs Encryption