Почему функция SlowEquals важна для сравнения хешированных паролей?
Я недавно прочитал статью охеширование паролей и засолка в котором было объяснено (в разделе «Как работает код SlowEquals?»), что функция SlowEquals должна использоваться для сравнения хэша пароля, введенного с хэшем пароля в базе данных.
Насколько я понимаю, функция SlowEquals используется потому, что она использует XOR вместо == и в результате проверяет каждый символ в обеих строках, а не на первых несоответствующих символах.
Есть две вещи, которые я не понимаю:
Почему XOR будет продолжать проверять строку после достижения условия сбоя.Если основная идея состоит в том, чтобы не дать злоумышленнику никакой полезной информации при попытке взломать пароль, разве функция сна () со случайно сгенерированным временем не подойдет?