Está hablando de ataques en línea , alguien está ingresando contraseñas a través del sitio web. Esto puede disminuir la velocidad con los métodos que describió, aunque no es tan fácil como parece.
Cuando lees acerca de descifrar contraseñas, normalmente hablas de ataques sin conexión , por eso calculas hashes después de todo. Piense en la situación en la que alguien podría leer todos sus hashes de contraseña (por ejemplo, inyección de SQL, o de una copia de seguridad desechada ...) Luego, el atacante puede utilizar la fuerza bruta tan rápido como su hardware puede, por ejemplo, puede. Usa la GPU para calcular hashes. Incluso entonces puede ralentizar el ataque, es por eso que en la actualidad utiliza funciones de derivación de clave lentas como BCrypt o PBKDF2. Estos algoritmos permiten definir un factor de costo, que define cuántas iteraciones se realizan, para que pueda controlar cuánto tiempo se usa para calcular un solo hash.
Un ejemplo: si puede calcular 8 Giga hashes MD5 por segundo, todas las combinaciones de contraseñas de hasta 6 dígitos pueden ser Calculado en 2 segundos. Si incluso necesita 1 milisegundo por hash, ya necesita 8 meses.