El MD5 (Message-Diget Algorithm 5) es un algoritmo de reducción criptográfico que produce una salida de 128 bits, dado un mensaje de entrada de longitud variable. Esta sálida se da en forma de hash, por lo que la encripción es de una vía, es decir, que una vez dado la salida, con esta no se puede obtener de nuevo el mensaje original.

Uno de los usos mas empleados para este algoritmo es el de cifrar las contraseñas de usuario en donde estas se tienen que enviar a través de la red como las aplicaciones web. En Ruby la extensión ext/md5 nos permite trabajar con este algoritmo a través de los métodos md5 y new.

1
2
3
4
require 'md5'

hash = MD5.md5("password")
hash = MD5.new("password")

El método clone simplemente copia el objeto a otro.

1
2
hash = MD5.md5("password")
hash2=hash.clone

El método update, se utiliza para añadir nuevos objetos, concatenando argumentos, por ejemplo:

1
2
3
4
5
hash = MD5.md5("password")
hash2=hash.update(" password2")

# es equivalente a
hash=MD5.md5("password password2")

El método digest provee una String de 16 bytes.

1
hash = MD5.digest("password")

El método hexdigest es de hecho el más útil, nos retorna un String ASCII de 32 caracteres que representa 16 bytes.

1
hash = MD5.hexdigest("password")

 

(Visited 50 times, 1 visits today)