Алгоритмы хеширования в системах аутентификации могут отличаться, например, по следующим параметрам:
- Длина генерируемого хеш-значения. 3 Есть алгоритмы, которые создают короткие хеш-значения, например MD5, и другие, генерирующие более длинные значения, например семейство SHA (SHA-1, SHA-2 и т. д.). 3
- Скорость работы. 4 Преобразование SHA-1 работает быстрее, чем SHA-512, которое, в свою очередь, быстрее, чем SHA-256. 4 Самым медленным из популярных алгоритмов считается Whirlpool. 4
- Вероятность коллизий. 5 Основное требование к хэш-функции — минимальная вероятность коллизий, то есть нахождения другой входной строки, на которой хэш-функция выдаст тот же результат. 5 Например, вероятность коллизий в SHA-1 намного меньше, чем в MD5. 5
Некоторые алгоритмы хеширования не были специально разработаны для хеширования паролей, а используются для проверок целостности. 3 К таким алгоритмам относятся, например, MD5 и семейство SHA. 3 Для хеширования паролей разработаны специальные алгоритмы. 3
Также существует метод аутентификации HMAC, который сочетает в себе хэш-функцию и секретный ключ. 1