Page 270 - Bkhargava_-_Grokaem_algoritmy
P. 270
Локально-чувствительное хеширование 269
Сравниваются только хеш-коды - хранить пароль не нужно! Алгоритм
SHA очень часто используются для хеширования паролей. Хеширование
является односторонним: вы можете получить хеш-код строки ...
... но не сможете восстановить исходную строку по хеш-коду:
Это означает, что даже если злоумышленник похитит хеш-коды SHA с сер
веров Gmail, он не сможет по ним восстановить исходные пароли! Пароль
можно преобразовать в хеш, но не наоборот.
Под термином SHA скрывается целое семейство алгоритмов: SHA-0, SHA-1,
SHA-2 и SHA-3. На момент написания книги в алгоритмах SHA-0 и SHA-1
были обнаружены слабости. Если вы применяете алгоритм SHA для хеши
рования паролей, выбирайте SHA-2 или SHA-3. В настоящее время ~золо
тым стандартом~ хеширования паролей считается функция bcrypt (хотя
идеальной защиты не бывает).
Локально-чувствительное хеширование
У хеширования SHA есть еще одна важная особенность: оно является
л01шлыю-нечувствuтельным. Предположим, имеется строка, для которой
генерируется хеш-код:
Если изменить в строке всего один символ, а потом сгенерировать хеш за
ново, строка полностью изменяется!
www.trk.kg