Por que a função SlowEquals é importante para comparar senhas com hash?

Li recentemente um artigo sobrehash e salga de senha em que foi explicado (em "Como o código SlowEquals funciona?") que uma função SlowEquals deve ser usada para comparar o hash da senha digitada com o hash da senha no banco de dados.

Pelo que entendi, a função SlowEquals é usada porque usa XOR em vez de == e, como resultado, verifica todos os caracteres nas duas seqüências, em vez de falhar nos primeiros caracteres não correspondentes.

Há duas coisas que não entendo:

Por que o XOR continuará verificando a sequência depois que uma condição de falha for atingida.Se a idéia principal é não fornecer ao invasor nenhuma informação útil ao tentar decifrar uma senha, uma função sleep () com um tempo gerado aleatoriamente não funcionaria bem?

questionAnswers(3)

yourAnswerToTheQuestion