public static Respuesta verificarMD5(String aVerificar, String originalMD5) throws Exception {
    Respuesta retorno = new Respuesta();
    Respuesta retornoHash = new Respuesta();
    String aVerificarMD5;

    try {
      retornoHash = hash(aVerificar);

      if (retornoHash.isOk()) {
        aVerificarMD5 = (String) retornoHash.getObjeto();

        if (aVerificarMD5.compareTo(originalMD5) == 0) {
          retorno.setOk(true);
          retorno.setDescripcion("Clave correcta");
          return retorno;
        } else {
          retorno.setOk(false);
          retorno.setDescripcion("Clave Incorrecta");
          return retorno;
        }
      } else {
        retorno.setOk(false);
        retorno.setDescripcion("Error al hashear la clave a verificar");
        retorno.setError(true);
        return retorno;
      }
    } catch (Exception e) {
      retorno.setOk(false);
      retorno.setDescripcion("Error al verificar la clave \n" + e);
      retorno.setError(true);
      return retorno;
    }
  }
 /**
  * Método estático que genera un código verificatorio nuevo
  *
  * <p>Registro de versiones:
  *
  * <ul>
  *   <li>1.0 18/03/2014 Francisco Hernandez (ATC Ltda): Versión inicial
  * </ul>
  *
  * @param rut int Rut de la persona
  * @param idFacebook String Identificador único de facebook
  * @return Objeto Respuesta con el string del cógido generado : ok=true si existoso, ok=false en
  *     caso contrario, y descripcion, error=true si hay error.
  * @since 1.0
  */
 public static Respuesta generaCodigoVerificacion(int rut, String idFacebook) {
   Respuesta retorno = new Respuesta();
   Log logger = new Log("MD5Hashing", "generaCodigoVerificacion()");
   Date fecha = new Date();
   String codigoPrevio = rut + "-" + fecha.toString() + "-" + idFacebook;
   Respuesta respCodigo = codigoVerificacion(codigoPrevio);
   if (respCodigo.isOk()) {
     String codigoListo = (String) respCodigo.getObjeto();
     retorno.setOk(true);
     retorno.setDescripcion(respCodigo.getDescripcion());
     retorno.setObjeto(codigoListo);
     logger.debug(respCodigo.getDescripcion());
   } else {
     retorno.setOk(false);
     retorno.setDescripcion(respCodigo.getDescripcion());
     logger.debug(respCodigo.getDescripcion());
   }
   return retorno;
 }