En el trabajo, el algoritmo de hash que utilizamos para las contraseñas parece estar hecho a medida. Obviamente, esa es una idea bastante mala, pero la administración no parece molesta.
El algoritmo siempre produce cadenas mayúsculas de 20 caracteres. Un aspecto particularmente preocupante de su comportamiento es que las contraseñas similares producen hashes similares: Password1
y Password2
producen hashes que son diferentes en solo 5 caracteres.
El otro problema obvio es que no parece que el algoritmo sea deliberadamente lento, lo que, según me han dicho, deberían ser los buenos algoritmos de hashing ( bcrypt
, scrypt
).
¿Cómo se evalúa la fuerza de un algoritmo de hash? ¿Y de qué tipo de ataques deberíamos estar particularmente preocupados por un algoritmo de hash rápido con poca uniformidad?
Tengo acceso a la fuente (aunque lamentablemente no puedo publicarla en un foro público, por razones obvias).