Bienvenido a datoweb.com!! En este foro podrás encontrar ayuda sobre diseño y desarrollo web en general. Si quieres formar parte de esta comunidad para pedir ayuda o colaborar ayudando a otros usuarios del foro solo tienes que registrarte desde el siguiente enlace: Registrarse en el Foro

Encriptacion mas segura que MD5 y SHA1

Hace algunos dias publique un debate sobre que tipo de encriptacion era mas seguro si md5 o sha1.
Pero indagando un poco por la web me encontre con este tipo de encriptacion llamada Blowfish, que en teoria es mucho mas seguro que md5 y sha1 y si lo conbinamos con salt y sha2 como sha256 o sha 512, la seguridad se extiende de una manera descomunal a comparacion de las ya antes mencionadas md5 y sha1, aunque aqui nos encontrariamos con un problema si nuestros servidores o los contratados para nuestra pagina web, no contienen activada esta funcion o bien la version php no esta actualizada esta funcion no servira, practicando me he encontrado con ciertas cosas pero hay cosas que no comprendo o estoy un poco perdido... les dire mi ejemplo:

por ejemplo:

$pasword = hash("sha512", "MiPassword-12");
$salt = hash("sha512", "12345abcdef/5_09-Ab13");

utilizamos la funcion crypt de php

$contraseña_final = crypt($pasword, "$2a$04$".$salt);

de este modo ya tenemos nuestra contraseña de una manera sumamente mas segura que con md5 y sha1 incluso conbinados, de hecho encontre que los grandes genios de las encriptacion, incluso el creador de md5, afirman que estas dos practicas ya no son seguras y que en su lugar usemos metodos que si protegen la privacidad, ya que tanto md5 como sha1 son muy faciles que descifrar en el caso de tener los recursos necesarios, esto es algo muy importante.

Bien ahora les intentare explicar un poco (ya que tambien tengo algunas dudas, que quizas entre todos podamos resolver).

Blowfish requiere de dos parametros nuestra contraseña que es $pasword y el siguiente parametro va concatenado... $2a$10$ necesitamos estas lineas para poder llamar la funcion Blowfish correctamente con el $2a decimos que estamos realizando esta funcion anteriormente llamada, y $04$ los recursos que utiliza y por ultimo tenemos $salt que va concatenado con los parametros o valores anteriores. bien la contraseña nos quedaria de la siguiente manera:

$2a$04$08994a324ec0e8aca7bf4uyn/8/L3yHrbq0yXv8tDfb.N40Dsqsni

ahora bien para aumentar la seguridad podriamos utilizar que salt sea de una manera aleatoria, es decir diferente para cada usuario, para esto necesitamos crear funciones y realizar un paso mas para comprobar que la contraseña que utiliza el usuario sea la misma que la que se guardo en la base de datos y es aqui donde biene mis dudas y donde me he perdido un poco

¿como se podrian realizar estas funciones o estos siguientes pasos? si alguno de ustedes sabe podria explicar como o dar consejos.

de antemano gracias.
Editado
1
Puntos
2329
Visitas
0
Resp
Por Jesxs hace 99 meses
Desactivado
Compartir en facebook
Compartir en twitter
Compartir
Para comentar Inicia sesión o Registrate