Hola a todos
Retomando un viejo hilo que se estuvo viendo hace unos meses acerca de encriptar los datos en las Dbfs, estoy probando la opcion de usar el encrypt / decrypt.
Esta trabajando bien, solo un pequeno detalle :
Al crear los indices : Index ON XXXXX + Decrypt( YYYYYYY, "ALGO" ) TO ZZZZZZZ
Normalmente, nos podriamos sentir "seguros" que nadie sabe el PassWord usado, pero si por X motivo la aplicacion se rompe, al momento de generar el archivo ERROR.LOG, ahi sale toda la informacion de las Dbfs usadas y sus indices y tales indices, con _ que fueron usados y por supuesto, sale nuestro PassWord
Estoy buscando la manera de cambiar "ALGO" por una variable que contenga cierto dato obtenido de una UDF, de tal manera que no sea "visible".
Pero, al parecer hay ciertos detalles usando variables y funciones en macros.
Alguien que pueda darme alguna mano en este punto.
Muchas Gracias por anticipado.
Index, Encrypt, Dbf, y UDF
- Raymundo Islas M.
- Posts: 590
- Joined: Tue Mar 14, 2006 11:34 pm
- Location: Acapulco, Gro. MEXICO
Index, Encrypt, Dbf, y UDF
FWH 10.6 + xHarbour + Borland 582
- Raymundo Islas M.
- Posts: 590
- Joined: Tue Mar 14, 2006 11:34 pm
- Location: Acapulco, Gro. MEXICO
Perdon, se me paso comentar que no estoy usando la forma "normal" al momento de crear el indice :
INDEX ON XDBF->XCAMPO + DECRYPT(XDBF->YCAMPO) TO XINDFILE
Estoy usando un arreglo y pongo _ en una cadena :
"Str( XDBF->XCAMPO + DECRYPT( XDBF->YCMPO, 'ALGO' )"
Es por eso que se me complica un poco, "meter" el valor en esa cadena y que se ejecute correctamente.
Saludos
INDEX ON XDBF->XCAMPO + DECRYPT(XDBF->YCAMPO) TO XINDFILE
Estoy usando un arreglo y pongo _ en una cadena :
"Str( XDBF->XCAMPO + DECRYPT( XDBF->YCMPO, 'ALGO' )"
Es por eso que se me complica un poco, "meter" el valor en esa cadena y que se ejecute correctamente.
Saludos
FWH 10.6 + xHarbour + Borland 582
- Manuel Valdenebro
- Posts: 706
- Joined: Thu Oct 06, 2005 9:57 pm
- Location: Málaga-España
-
- Posts: 330
- Joined: Fri May 25, 2007 9:06 pm
- Raymundo Islas M.
- Posts: 590
- Joined: Tue Mar 14, 2006 11:34 pm
- Location: Acapulco, Gro. MEXICO
Hola amigos
Agradezco mucho sus sugerencias, al parecer no me explique correctamente, los datos y los indices estan trabajando muy bien, lo que en realidad quiero es como crear la cadena para el indexado, ya que estoy usando una macro para la generacion del mismo.
Indexado Normal :
USE CLIENTES NEW
Index On Str( CLIENTES->CODIGO, 3 ) + DeCrypt( CLIENTES->NOMBRE, "XPSWD" ) TAG CLI01
Indexado que estoy usando :
cStrCdx := {"Str( CLIENTES->CODIGO, 3 ) + DeCrypt( CLIENTES->NOMBRE, 'XPSWD' )", "CLI01" }
USE CLIENTES NEW
Index ON &cStrCdx[1] TAG &cStrCdx[2]
Ahora, hasta aqui todo trabaja OK, el detalle sale cuando si por alguna razon se llegara a romper la App en el archivo ERROR.LOG sale el detalle de las Dbfs y Cdxs en uso, y ahi sale "XPSWD" en el detalle de los indices, que es nuestro password usado, mismo que nadie deberia saber !!
Lo que intento hacer es una UDF que me genere alguna cadena a usar como password ( esto ya lo tengo ), solo me hace falta poner esa variable en la cadena de texto para que se evalue correctamente al momento de crear tal indice.
Algo asi:
cCdxKey := GenSomePswd()
cStrCdx := {"Str( CLIENTES->CODIGO, 3 ) + DeCrypt( CLIENTES->NOMBRE, cCdxKey )", "CLI01" }
Y que tome su valor cuando :
Index ON &cStrCdx[1] TAG &cStrCdx[2]
Todo esto, es solo para tratar de evitar que sepan cual es el password usado al momento de encriptar/desencriptar los datos.
Gracias y Saludos
Agradezco mucho sus sugerencias, al parecer no me explique correctamente, los datos y los indices estan trabajando muy bien, lo que en realidad quiero es como crear la cadena para el indexado, ya que estoy usando una macro para la generacion del mismo.
Indexado Normal :
USE CLIENTES NEW
Index On Str( CLIENTES->CODIGO, 3 ) + DeCrypt( CLIENTES->NOMBRE, "XPSWD" ) TAG CLI01
Indexado que estoy usando :
cStrCdx := {"Str( CLIENTES->CODIGO, 3 ) + DeCrypt( CLIENTES->NOMBRE, 'XPSWD' )", "CLI01" }
USE CLIENTES NEW
Index ON &cStrCdx[1] TAG &cStrCdx[2]
Ahora, hasta aqui todo trabaja OK, el detalle sale cuando si por alguna razon se llegara a romper la App en el archivo ERROR.LOG sale el detalle de las Dbfs y Cdxs en uso, y ahi sale "XPSWD" en el detalle de los indices, que es nuestro password usado, mismo que nadie deberia saber !!
Lo que intento hacer es una UDF que me genere alguna cadena a usar como password ( esto ya lo tengo ), solo me hace falta poner esa variable en la cadena de texto para que se evalue correctamente al momento de crear tal indice.
Algo asi:
cCdxKey := GenSomePswd()
cStrCdx := {"Str( CLIENTES->CODIGO, 3 ) + DeCrypt( CLIENTES->NOMBRE, cCdxKey )", "CLI01" }
Y que tome su valor cuando :
Index ON &cStrCdx[1] TAG &cStrCdx[2]
Todo esto, es solo para tratar de evitar que sepan cual es el password usado al momento de encriptar/desencriptar los datos.
Gracias y Saludos
FWH 10.6 + xHarbour + Borland 582
- Manuel Valdenebro
- Posts: 706
- Joined: Thu Oct 06, 2005 9:57 pm
- Location: Málaga-España
-
- Posts: 330
- Joined: Fri May 25, 2007 9:06 pm
Raymundo:
Tu indice esta encriptado, usalo como tal, si tu programa se cae, te recomiendo que no lo desencriptes, de esa forma evitaras que alguien pueda ver tus datos claves, que uno tanto resguarda. Por mi parte cuando guardo un campo encriptado en una base, jamas lo vuelvo a desencriptar.
Espero te sirva,
Saludo,
Antonio
Tu indice esta encriptado, usalo como tal, si tu programa se cae, te recomiendo que no lo desencriptes, de esa forma evitaras que alguien pueda ver tus datos claves, que uno tanto resguarda. Por mi parte cuando guardo un campo encriptado en una base, jamas lo vuelvo a desencriptar.
Espero te sirva,
Saludo,
Antonio