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: я знаю, что мне нужно добавить случайную соль, чтобы действительно обеспечить ее безопасность. Вопрос в том, помогает ли хеширование дважды с помощью одного и того же алгоритма или мешает хешированию.