A хеш - это односторонний алгоритм , используемый для сравнения входных данных со ссылкой без ущерба для ссылки.
Обычно он используется в логинах для сравнения паролей, и вы также можете найти его в своем чеке, если совершаете покупки с помощью кредитной карты. Там вы найдете номер своей кредитной карты со скрытыми номерами, таким образом, вы можете доказать с высокой вероятностью , что ваша карта использовалась для покупки вещей, в то время как кто-то, ищущий ваш мусор, не сможет найдите номер вашей карты.
Очень наивный и простой хеш: "Первые 3 буквы строки" .
Это означает, что хешем "abcdefg" будет "abc". Эта функция, очевидно, не может быть отменена, что является целью хэша. Однако обратите внимание, что у "abcxyz" будет точно такой же хеш, это называется collision . Итак, еще раз: хэш только с определенной вероятностью доказывает, что два сравниваемых значения одинаковы .
Другой очень наивный и простой хеш - это 5-модуль числа, здесь вы увидите, что 6,11,16 и т. Д. Будут иметь одинаковый хеш: 1.
Современные хеш-алгоритмы предназначены для того, чтобы максимально сократить число коллизий, но их никогда нельзя полностью избежать. Практическое правило гласит: чем длиннее ваш хэш, тем меньше у него коллизий.