2015-05-11 2 views
0

Как обычный метод, я всегда использовал для хранения MD5 паролей в базе данных, в то время как есть много сайтов, которые декодируют хешированные данные MD5 в свои исходные данные (используя базу данных радуги).Безопаснее ли модифицировать выход MD5?

Интересно, можно ли более безопасно модифицировать вывод функции MD5 (например, опустить последний символ вывода MD5 для создания новых хешированных данных)? или существует логика MD5, которая делает более безопасной, чем каждая модифицированная версия?

ответ

0

Нет, это не делает много хорошего, чтобы сделать ваши пароли более безопасным. Он добавляет немного «безопасности по неизвестности», но когда мы используем хэш-пароли, мы готовимся к случаю, когда злоумышленник знает хэши и алгоритм.

Проблема с MD5 в целом и с выводами состоит в том, что они могут быть рассчитаны слишком быстро. С общим оборудованием вы можете рассчитать 8Giga MD5/s, что делает слишком грубый форсинг. Сегодняшние средства для взлома паролей не только предлагают простые хеши MD5, вы можете также рассчитать деривации, например. md5(strtoupper(md5($pass))) из коробки.

Для безопасного хранения паролей требуется медленная хеш-функция, такая как BCrypt, PBKDF2 или SCrypt с коэффициентом затрат. Конечно, их нужно солить с помощью уникальной соли за пароль.

0

Возможно, вам стоит рассмотреть другой алгоритм хэширования?

https://security.stackexchange.com/questions/4789/most-secure-password-hash-algorithms

+0

спасибо. Но мой точный вопрос заключается в том, что если модификация MD5 делает его более безопасным или нет? –

+0

@AliSheikhpour - просто не имеет смысла пытаться улучшить очень небезопасную схему, когда есть обоснованные хорошие решения проблемы. – martinstoeckli

Смежные вопросы