Estoy construyendo una aplicación web y me gustaría utilizar el algoritmo de hashing más potente posible para las contraseñas. ¿Cuáles son las diferencias, si las hay, entre sha512, whirlpool, ripemd160 y tiger192,4? ¿Cuál se consideraría criptográficamente más fuerte?¿Cuál es el algoritmo de hashing más potente comúnmente disponible en la actualidad?
Respuesta
Bcrypt - ¿Por qué sería una explicación muy larga, por lo cual recomiendo Enough With The Rainbow Tables: What You Need To Know About Secure Password Schemes
Básicamente, es seguro, es lento, ya está implementado.
bcrypt no es realmente un algoritmo hash, es una técnica que usa otros algoritmos hash. – Sliq
Aquí hay una buena post on coding horror about storing passwords. En resumen, sugiere bcrypt o SHA-2 con una sal única aleatoria.
David, esas son todas funciones muy fuertes. Incluso las colisiones MD5 muy publicitadas no son de la variedad de descifrado de contraseñas, solo generan dos cadenas diferentes con el mismo MD5 (una propuesta muy diferente de encontrar una cadena que genera un valor de MD5 dado).
Si le preocupa la seguridad de las contraseñas, debe preocuparse por los protocolos utilizados para almacenarlas, los protocolos utilizados para recuperar las contraseñas olvidadas por los usuarios y todas las otras posibles vías de ataque. Esas opciones se usan mucho más a menudo para descifrar contraseñas que el análisis de fuerza bruta.
Use una sal, sin embargo.
Pero primero lea el artículo AviewAnew publicada
Si está realmente preocupado por la seguridad de su sistema (en oposición a la fuerza bastante académico de algoritmos), entonces debería ir con una aplicación probada y madura en lugar de nitpicking algoritmos.
Recomendaría Ulrich Drepper's SHA-crypt implementation. Esta implementación usa SHA-512, una sal de 16 caracteres, es revisada por pares y programada para entrar en todas las principales distribuciones de Linux a través de glibc 2.7.
P.S .: Una vez que haya alcanzado este nivel de seguridad, se le visitada por el black helicopters de todos modos.
- 1. ¿Cuál es el mejor algoritmo para la palabra más cercana
- 2. ¿Qué es hashing de características (hashing-trick)?
- 3. ¿GQL admite la agregación de estilo SQL comúnmente disponible?
- 4. ¿Cuál es el algoritmo de hashing recomendado para usar para las contraseñas almacenadas?
- 5. ¿Cuál es el sistema operativo bare-bone más escaso disponible?
- 6. ¿Cuál es actualmente el algoritmo de encriptación unidireccional más seguro?
- 7. Algoritmo más rápido disponible para la transformación de distancia
- 8. Algoritmo de triangulación de Delaunay más rápido disponible para GPU
- 9. ¿Cuál es el algoritmo óptimo "más general unificador"?
- 10. ¿Cuál es el algoritmo más rápido para realizar exponenciación?
- 11. ¿Cuál es la diferencia entre bcrypt y hashing varias veces?
- 12. ¿Cuál es la implementación recomendada para hashing OLE variantes?
- 13. ¿Qué JavaScript AJAX Framework es más potente y ligero?
- 14. ¿cuál es el algoritmo de hash de mayor rendimiento disponible en php cuando la seguridad NO está en juego?
- 15. ¿Cuál es el algoritmo detrás de sleep()?
- 16. ¿Cuál es el mejor algoritmo de derivación "llave en mano"?
- 17. ¿Cuál es el algoritmo detrás de la generación de buscaminas
- 18. algoritmo de hashing de imagen rápido y simple
- 19. ¿Cuál es la mejor documentación de Haskell disponible en línea?
- 20. ¿Cuál es el mejor carrito de compras disponible en Java?
- 21. ¿Cuál es el algoritmo CSS insertado en el borde más aceptado?
- 22. ¿Cuál es el algoritmo Hi/Lo?
- 23. ¿Cuál es la mejor técnica de hashing para el inicio de sesión de php mysql?
- 24. ¿Cuál es el marco de prueba de unidad más comúnmente utilizado para diferentes tipos de aplicaciones de Ruby?
- 25. ¿Cuál es la diferencia entre el algoritmo de avance hacia atrás y el algoritmo de Viterbi?
- 26. Cuál es más rápido en el procesamiento y la conversión int.Parse(), int.TryParse(), Convert.Int32()
- 27. ¿Cuál es el algoritmo de análisis más simple que puede analizar el código C?
- 28. ¿Cuál es el mejor algoritmo de clasificación de asientos reservados?
- 29. Similitud hashing
- 30. ¿Es Marmalade SDK más relevante o comúnmente utilizado para el desarrollo de juegos?
Define lo que quieres decir con "más fuerte". – dacracot
Normalmente pienso en los recursos necesarios para encontrar una entrada que tenga valores hash. – erickson