No me gusta por codigos creo que la mejor manera de aprender es cometiendo nuestros errores, mejor te dejo este enlaces
http://pajhome.org.uk/crypt/md5/ hay vas a encontrar todo lo necesario...
Ahora si publicas algun error que tengas en el codigo cool, Exito....