Muchas gracias tunait !!
Con respecto ala función MD5, pues está incluida en el documento más arriba de este código. Se me pasó en no comentarlo.
La razón por la cual encripto la clave en el cliente, es para que no "haga un viaje desencriptada", donde pueden interceptar y saber la clave sin problemas, de esta forma se las complico un poco. (creo que tarda 2 dias y pico desencriptar una clave md5 y no es 100% exacto el resultado).
Ahora mismo me pongo a probar tu código, te aviso luego como me fue.
Gracias nuevamente!