ene 9 2010
Crear Hash MD5 en [PHP]
Hoy mientras veía la forma de implementar Gravatar en mi proyecto (con lo que me ahorraría líneas de código en lo de subir fotos propias y mostrarlas) aprendí algo que me pareció curioso y a la vez útil, sí!, tanto como para postearlo, una manera de crear un hash MD5 en PHP.
Pero, que es un Hash MD5?…
Pues según wikipedia:
MD5 es uno de los algoritmos de reducción criptográficos diseñados por el profesor Ronald Rivest del MIT (Massachusetts Institute of Technology, Instituto Tecnológico de Massachusetts). Fue desarrollado en 1991 como reemplazo del algoritmo MD4 después de que Hans Dobbertin descubriese su debilidad.
[...]Codificación [editar]
La codificación del MD5 de 128 bits es representada típicamente como un número de 32 dígitos hexadecimal. El siguiente código de 28 bytes ASCII será tratado con MD5 y veremos su correspondiente hash de salida:
MD5(“Esto sí es una prueba de MD5″) = e0abc159956570f76f890fec22258477
Un simple cambio en el mensaje nos da un cambio total en la codificación hash, en este caso cambiamos dos letras, el «sí» por un «no».
MD5(“Esto no es una prueba de MD5″) = 74005c07412ae92ccded2dfe5e42ce36
Otro ejemplo sería la codificación de un campo vacío:
MD5(“”) = 74e6f7298a9c2d168935f58c001bad88
Y bueno, según leía en Gravatar, lo que hacen ellos es parsear tu email para sacarlo en un hash MD5 y utilizarlo en el link, así entonces generan un url, le agregan la extensión y bajo algunos otros parámetros salía el gravatar.
Osea, si por ejemplo tu email es iHaveAn@email.com, parseado a MD5 (así tal y como está el texto plano) resultará en: 3b3be63a4c2a439b013787725dfce802, y arman el link así:
http://www.gravatar.com/avatar/3b3be63a4c2a439b013787725dfce802.jpg
Con lo que tendremos la siguiente imagen:

Y bueno, hasta que supe esto, yo pensé que implementarlo en PHP sería por medio de algún algoritmo complejo, pero no me esperaba que estuviese implementado de manera nativa (y no sólo el MD5, también vi por ahí funciones para parsear sha1 y el MD5 y sha1 para archivos, wow).
El funcionamiento es sencillo, sólo le pasan un String a la función y se puede usar de manera en un hash MD5:
<?php //creamos una variable cualquiera $variable = "informatrix, mi blog favorito!!!" $variable_en_md5 = md5($variable); //creamos el hash a partir de esa variable echo $variable_en_md5; //lo imprimimos ya en formato MD5, que en este caso sería: 78d2f7ab91c219134a707ba19cf51393 ?>
Me pareció curioso, sencillo y útil, a veces PHP me sorprende, y cada vez pienso más que la gente subestima este lenguaje de programación, pero en fin.
Espero les haya servido, a mi sí!…
Saludos!!!
Mas info | PHP MD5()





Últimos comentarios