Bueno,
descifrando tu código, ya que no explicas nada, ni siquiera qué hace la función hex_md5 (me supongo que codificar una cadena a md5..) me doy cuenta de que en un punto:
Quizás deberías poner qué es lo que hace hex_md5, qué es obj (me imagino que un formulario) y qué es lo que intentas hacer.
De todas maneras las líneas:
Código PHP:
obj.contrasena.value=ok;
alert(obj.contrasena.value+" = "+ok);
deberían darte como resultado que el valor del campo y el valor de ok son iguales. ¿Como afecta esa función al campo en el documento html? Lo cambia ¿no?