Page 1 of 1

Existe MD5 en Harbour ?

Posted: Thu Jan 21, 2010 1:52 pm
by sjingo
Estimados amigos

Primeramente desearles un excelente 2010 a todos.
Estoy usando la función MD5() de Mysql para encriptar las contraseñas en la tabla de usuarios. Al momento de validar el campo pasword quiero enviar ese dato encriptado con MD5 desde mi aplicación al servidor Mysql para agregarle un poco más de seguridad en el trayecto.

Aunque si no existe tendré que enviar el pasword tal cual y sea el Mysql que haga la operación MD5. Cualuquier comentario es bienvenido.

Saludos
Marcelo Jingo

Re: Existe MD5 en Harbour ?

Posted: Thu Jan 21, 2010 5:09 pm
by sjingo
Mirando el manual de FW encontré la función nStrHash() que también podría ayudarme, pero al linkear me sale Unresolved External '_HB_FUN_NSTRHASH', así que busqué el código fuente en SOURCE\FUNCTION\Hash.c, copie el código dentro de mi PRG entre #pragma BEGINDUMP y #pragma ENDDUMP ; no hubo errores de compilación, pero al linkear sigue saliendo el mismo error.

Alguna pista?

Un Saludo
Marcelo Jingo

Re: Existe MD5 en Harbour ?

Posted: Thu Jan 21, 2010 6:27 pm
by vailtom
With Harbour:

Code: Select all

? hb_md5( "teste" )
With xHarbour:

Code: Select all

? md5( "teste" )

Re: Existe MD5 en Harbour ?

Posted: Thu Jan 21, 2010 8:20 pm
by sjingo
Gracias Vailtom Renato

Funciona perfecto.

Por saber un poco más: cómo se debe usar la función hb_Hash(), lo probé así:

? hb_hash("test")

pero obtengo el error : Bound Error:array dimension

Un saludo
Marcelo Jingo

Re: Existe MD5 en Harbour ?

Posted: Thu Jan 21, 2010 8:26 pm
by Lautaro
Marcelo,

hb_hash no es para encriptar datos, es para hacer hash de datos, es una especie de array disperso.

Saludos,

Lautaro Moreira

Re: Existe MD5 en Harbour ?

Posted: Thu Jan 21, 2010 9:44 pm
by sjingo
Osea......? :shock:

Por favor un ejemplo..
Quiero hacerlo igual como lo hago con md5: con Mysql cifro el campo que guarda la clave usando md5(´miclave') dándome un valor de 32 caracteres, luego en mi aplicación cifro mediante hb_md5('otraclave') la clave introducida para compararla con la de la Base de datos. Esto funciona OK, pero tengo entendido que hash es más seguro, así que quiero hacer lo mismo porque Mysql tiene la función sha('miclave') para cifrar con hash.

Gracias Lautaro

Un saludo
Marcelo Jingo

Re: Existe MD5 en Harbour ?

Posted: Thu Jan 21, 2010 9:56 pm
by Lautaro
Marcel,

Hash no tiene nada que ver con sha, sha es una forma asimetrica de encriptacion que es la que utiliza tecnicas hash para el proceso de encriptado y hash como te decia es una forma de array.

Desconozco si con harbour puedes encriptar usando sha.

Dentro de lo que se de mysql sha solo funciona si tienes activo ssl para la coneccion, pero no estoy seguro.


Saludos,

Lautaro Moreira

Re: Existe MD5 en Harbour ?

Posted: Thu Jan 21, 2010 10:46 pm
by sjingo
Lautaro

Gracias por la aclaración.
Me quedo con hb_md5("clave"), que al fin y al cabo soluciona el motivo de mi intervención.

Gracias también a Vailton

Saludos cordiales

Marcelo Jingo