Я думаю, что более сильный алгоритм дайджеста сообщений является обязательным. Известно, что у MD5 и SHA1 есть проблемы со столкновениями.

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

Я видел много уроков, предлагающих использовать соль следующим образом:

$hash =  md5($salt.$password)

Причина в том, что хеш теперь отображается не на исходный пароль, а на комбинацию пароля и соли. Но скажи$salt=foo а также$password=bar а также$hash=3858f62230ac3c915f300c664312c63f, Теперь кто-то с радужным столом может поменять хеш и ввести «foobar». Затем они могут попробовать все комбинации паролей (f, fo, foo, ... oobar, obar, bar, ar, ar). Для получения пароля может потребоваться еще несколько миллисекунд, но не более того.

Другое использование я видел в моей системе Linux. В / etc / shadow хешированные пароли фактически хранятсяс соль. Например, соль "foo" и пароль от "bar" хэшируют это:Я видел много уроков, предлагающих использовать соль следующим образом:foo$te5SBM.7C25fFDu6bIRbX1, Если хакер каким-то образом смог достать этот файл, я не вижу, для чего служит соль, так как обратный хешte5SBM.7C25fFDu6bIRbX как известно, содержит "foo".

Спасибо за любой свет, который может пролить на это любой.

РЕДАКТИРОВАТЬ: Спасибо за помощь. Подводя итог, что я понимаю, соль делает хешированный пароль более сложным, что значительно снижает вероятность его существования в заранее вычисленной радужной таблице. То, что я неправильно понял раньше, было то, что я предполагал, что для ВСЕХ хэшей существует радужный стол.

Ответы на вопрос(10)

Ваш ответ на вопрос