Dlaczego funkcja SlowEquals jest ważna do porównywania haszowanych haseł?

Niedawno przeczytałem artykuł na temathashowanie hasłem i solenie w którym wyjaśniono (w sekcji „Jak działa kod SlowEquals?”), że funkcja SlowEquals musi być użyta do porównania skrótu hasła wprowadzonego do skrótu hasła w bazie danych.

Jak rozumiem, funkcja SlowEquals jest używana, ponieważ używa XOR zamiast == iw rezultacie sprawdzi każdą postać w obu łańcuchach, zamiast zawodzić na pierwszych niedopasowanych znakach.

Są dwie rzeczy, których nie rozumiem:

Dlaczego XOR będzie kontynuował sprawdzanie ciągu po osiągnięciu stanu awaryjnego.Jeśli główną ideą jest, aby nie dać atakującemu żadnych użytecznych informacji podczas próby złamania hasła, czy funkcja sleep () nie będzie działać z losowo wygenerowanym czasem?

questionAnswers(3)

yourAnswerToTheQuestion