Хеш, він же хеш, це англійське слово hash, яке в російській мові найчастіше вживається в складових словах «хеш-функція», «хеш-сума» або «хеш-алгоритм». Давайте спробуємо розібратися, що це таке і для чого воно потрібне.
Поняття «хешування» означає детерминистское (однозначне і точно відоме) обчислення набору символів фіксованої довжини на основі вхідних даних довільної довжини. При цьому зміна хоча б одного символу в вихідних даних гарантує (з імовірністю, близькою до 100%), що і отримана фіксована рядок буде інший. Можна сказати, що хешування це «зняття відбитка» з великого набору даних.
Для чого все це потрібно? Давайте розглянемо приклад: ви завантажили великий файл (між іншим, zip-архів) і бажаєте переконатися, що в ньому немає помилок. Ви можете дізнатися «хеш-суму» (той самий відбиток) цього файлу і звірити його з опублікованими на сайті. Якщо рядки хеш-сум розрізняються, то файл однозначно «битий».
Інший приклад: щоб убезпечити дані користувачів, банк не повинен зберігати їх паролі такими, якими вони є, у своїй базі даних. Замість цього банк зберігає хеш-суми цих паролів і кожен раз при введенні пароля обчислює його хеш-суму і звіряє її з збереженої в базі. І тут виникає резонне питання про можливі «колізіях», тобто однакових результатах хешування різних паролів. Гарна хеш-функція повинна зводити колізії до абсолютного мінімуму, а для цього її потрібно зробити досить складною і заплутаною.
Хеш знаходиться в списку: Комп'ютери
© 2018-2024 Сайт нових і добре забутих слів warface.top
Додати слово | Допомогти проекту