¿Por qué es importante la función SlowEquals para comparar contraseñas con hash?

Recientemente leí un artículo encontraseña de hashing y salado en el que se explicó (en "¿Cómo funciona el código de SlowEquals?") se debe usar una función de SlowEquals para comparar el hash de la contraseña ingresada al hash de la contraseña en la base de datos.

Como entiendo, la función SlowEquals se usa porque usa XOR en lugar de == y como resultado verificará cada carácter en ambas cadenas en lugar de fallar en los primeros caracteres no coincidentes.

Hay dos cosas que no entiendo:

¿Por qué XOR continuará verificando la cadena después de alcanzar una condición de falla?Si la idea principal es no proporcionar al atacante ninguna información útil al intentar descifrar una contraseña, ¿no sería una función sleep () con un tiempo generado aleatoriamente hacer el truco?

Respuestas a la pregunta(3)

Su respuesta a la pregunta