Is “double hashing” a password less secure than just hashing it once?

Является ли хеширование пароля дважды перед хранением более или менее безопасным, чем простое хеширование?

То, о чем я говорю, делает это:

$hashed_password = hash(hash($plaintext_password));

вместо этого:

$hashed_password = hash($plaintext_password);

Если это менее безопасно, можете ли вы дать хорошее объяснение (или ссылку на него)?

Кроме того, имеет ли значение хеш-функция? Есть ли какая-то разница, если вы смешаете md5 и sha1 (например) вместо того, чтобы повторять одну и ту же хеш-функцию?

Примечание 1: Когда я говорю «двойное хеширование», я говорю о хешировании пароля дважды, чтобы сделать его более скрытым. Я не говорю отехника разрешения столкновений.

Примечание 2: я знаю, что мне нужно добавить случайную соль, чтобы действительно обеспечить ее безопасность. Вопрос в том, помогает ли хеширование дважды с помощью одного и того же алгоритма или мешает хешированию.

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

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