¿No se puede encontrar una segunda cadena de texto sin formato que hace "hash" a "482c811da5d5b4bc6d497ffa98491e38"?
Sí, es más fácil de lo que temes con MD5, que está roto; p.ej. es posible generar colisiones a propósito, aunque no estoy seguro de si ya es posible generar colisiones sin controlar la entrada al menos parcialmente.
Es posible que desee google "paradoja de cumpleaños". Pregunta: "¿Cuál es la probabilidad de que dos personas en una habitación compartan el mismo cumpleaños?" y es relevante para tu pregunta.
También le proporcionará los cálculos matemáticos para calcular las posibilidades de colisiones de hash dado el tamaño de la salida de la función de hash y el número de elementos / contraseñas que espera de hash. Creo que una estimación aproximada que se usa a menudo es que es probable que vea colisiones después de hashing n contraseñas, donde n es la raíz cuadrada del espacio de salida de su función hash. Entonces, con su ejemplo de un hash de 128 bits, eso comenzaría a suceder después de 2 ^ 64 contraseñas con hash (lo que creo que todavía es imposible de hacer con el hardware de hoy si md5 aún no está completamente roto, por lo que probablemente no haya Necesito entrar en pánico todavía, pero comenzaría a caminar con calma hacia la próxima salida ...).
Y, por lo tanto, ¿se puede ingresar como MI contraseña en adobe.com, y así obtener una entrada ilegal a través de un inicio de sesión legítimo?
Probablemente no, ya que Adobe debería saber mejor que usar MD5 para hacer hash de contraseñas y ni siquiera usar un valor de sal.
Las contraseñas no se eliminan mediante el uso de funciones hash rápidas simples, como md5 o sha1 o incluso sha256 (al menos, no por alguien que quiera mantenerlas seguras en el mundo actual). Estas funciones hash son demasiado rápidas y pueden implementarse en hardware como las tarjetas gráficas gpus paralelas (o incluso un hardware más especializado) que luego pueden hash millones o miles de millones de contraseñas candidatas por segundo (dependiendo de la función hash utilizada) para forzar la fuerza bruta contraseña. Puede probarlo usted mismo utilizando un programa como hashcat.
Las mejores opciones para las funciones hash son funciones hash diseñadas para ser lentas, pbkdf2, scrypt y bcrypt, por ejemplo. Ellos hacen cientos de miles de iteraciones para disminuir su velocidad. El número de iteraciones se puede configurar para tener en cuenta las CPU más rápidas.
Además, las contraseñas no están hash "desnudas". Usualmente los sales; p.ej. agregue un valor de sal aleatorio a ellos; Esto hará que la creación de tablas de arco iris sea mucho más difícil, ya que ahora se debe calcular una tabla para cada valor de sal por separado.