ilkz
Новичок
md5 в частности и хэширование вообще
Всем привет!
Я вот тут неоднократно наблюдаю различные дискуссии о хранении паролей и прочей приватной юзерской информации. Все почти в один голос используют однонаправленное хэширование, типа md5. Не буду спорить - вещь действительно отличная. Сам ее использую.
Однако, меня совершенно веселит, когда начинают придумывать извраты типа md5(md5(md5($password))) и им подобные замуты.
Ведь это же не панацея. И защищенность десятка md5 относительно вероятности вскрытия ничуть не больше одного md5. Md5 обладает свойством коллизий (т.е. две разные строки могут дать один и тот же хэш). Таким образом, теоретически, что десяток вложенных md5'тей, что всего лишь один md5 могут дать один хэш.
К тому же, как показывает практика, если у хацкера есть md5-хэш, то расшифровать его займет от силы неделю. Расшифровка-то происходит тупо брутфорсом (даже если и по словарю). Соответственно, хацкер получит либо сам исходный пароль, либо строку, создающую коллизию, т.е. порождающую такой же хэш.
Отсюда вопрос - а надо ли оно вообще - использовать всякие замуты типа вышеописанных, когда разницы особо никакой нет?
Всем привет!
Я вот тут неоднократно наблюдаю различные дискуссии о хранении паролей и прочей приватной юзерской информации. Все почти в один голос используют однонаправленное хэширование, типа md5. Не буду спорить - вещь действительно отличная. Сам ее использую.
Однако, меня совершенно веселит, когда начинают придумывать извраты типа md5(md5(md5($password))) и им подобные замуты.
Ведь это же не панацея. И защищенность десятка md5 относительно вероятности вскрытия ничуть не больше одного md5. Md5 обладает свойством коллизий (т.е. две разные строки могут дать один и тот же хэш). Таким образом, теоретически, что десяток вложенных md5'тей, что всего лишь один md5 могут дать один хэш.
К тому же, как показывает практика, если у хацкера есть md5-хэш, то расшифровать его займет от силы неделю. Расшифровка-то происходит тупо брутфорсом (даже если и по словарю). Соответственно, хацкер получит либо сам исходный пароль, либо строку, создающую коллизию, т.е. порождающую такой же хэш.
Отсюда вопрос - а надо ли оно вообще - использовать всякие замуты типа вышеописанных, когда разницы особо никакой нет?