Page 1 of 1

Consulta Encriptacion Campos

PostPosted: Thu Dec 02, 2021 5:02 pm
by remtec
Amigos buen dia.

Necesito me puedan ayudar por favor.

Requiero proteger una información almacenada en una DBF, y para ello existe un campo Rut, que identifica a un paciente, requiero Encriptarlo, pero ademas debe ser un campo indice, cosa que cuando pida la informacion de ese rut, el sistema me entregue todo los examenes asociados.

Como puedo Encriptar este campo y que además sea parte del archivo indice?

Muchos Saludos.

Antonio.

FWH 17.9

Re: Consulta Encriptacion Campos

PostPosted: Thu Dec 02, 2021 7:00 pm
by karinha
Algo asi?

Code: Select all  Expand view

#Include "FiveWin.ch"

FUNCTION Main()

   LOCAL ACRIPA, ACRIPB, ACRIPC, ACRIPD, ACRIPE, ACRIPF, CRIPTA, CRIPTB, ;
         CRIPTC, CRIPTD, CRIPTE, CRIPTF
   // Texto a encryptar:
   LOCAL Texto_01 := 0
   LOCAL Texto_02 := "TEXT02"
   LOCAL Texto_03 := "TEXTO03"
   LOCAL DATE_4   := DTOC( Date() )
   LOCAL EDIT_6   := "EDICION6"
   LOCAL CHECK_5  := "CHECKOUT5"

   // --------------------  Encriptado -----------------------------*

   AcripA := Texto_01
   AcripB := ALLTRIM( LOWER( Texto_02 ) )
   AcripC := ALLTRIM( LOWER( Texto_03 ) )
   AcripD := DATE_4
   AcripE := CHECK_5
   AcripF := EDIT_6

   // --------------------------------------------------------------*
   // ENCRYPT
   CriptA := Encrypt( AcripA, Chr( 077 ) + Chr( 085 ) + Chr( 083 ) + Chr( 084 ) + Chr( 065 ) )
   CriptB := Encrypt( AcripB, Chr( 077 ) + Chr( 085 ) + Chr( 083 ) + Chr( 084 ) + Chr( 065 ) )
   CriptC := Encrypt( AcripC, Chr( 077 ) + Chr( 085 ) + Chr( 083 ) + Chr( 084 ) + Chr( 065 ) )
   CriptD := Encrypt( AcripD, Chr( 077 ) + Chr( 085 ) + Chr( 083 ) + Chr( 084 ) + Chr( 065 ) )
   CriptE := Encrypt( AcripE, Chr( 077 ) + Chr( 085 ) + Chr( 083 ) + Chr( 084 ) + Chr( 065 ) )
   CriptF := Encrypt( AcripF, Chr( 077 ) + Chr( 085 ) + Chr( 083 ) + Chr( 084 ) + Chr( 065 ) )

   // --------------------------------------------------------------*

   ? ACRIPA, ACRIPB, ACRIPC, ACRIPD, ACRIPE, ACRIPF, CRIPTA, CRIPTB, ;
     CRIPTC, CRIPTD, CRIPTE, CRIPTF

   /*
   USE TESTE

   APPEND BLANK

   REPLACE CODE    WITH CriptA
   REPLACE FIRST   WITH CriptB
   REPLACE LAST    WITH CriptC
   REPLACE BIRTH   WITH CriptD
   REPLACE MARRIED WITH CriptE
   REPLACE BIO     WITH CriptF
   */


RETURN NIL

// FIN / END
 


Regards, saludos.

Re: Consulta Encriptacion Campos

PostPosted: Fri Dec 03, 2021 12:02 am
by JoseAlvarez
remtec wrote:Amigos buen dia.

Necesito me puedan ayudar por favor.

Requiero proteger una información almacenada en una DBF, y para ello existe un campo Rut, que identifica a un paciente, requiero Encriptarlo, pero ademas debe ser un campo indice, cosa que cuando pida la informacion de ese rut, el sistema me entregue todo los examenes asociados.

Como puedo Encriptar este campo y que además sea parte del archivo indice?

Muchos Saludos.

Antonio.

FWH 17.9


Hola Amigo,

Hace mucho que deje de trabajar con DBF, pero esto me funcionó muy bien por años:

Code: Select all  Expand view
function fnct_prueba()

 Local cRut, cShow

 cRut:=Encrypt('Prueba de Encriptacion')

 msginfo(cRut)

 cShow:='Desencriptar->'+Decrypt(cRut)

 msginfo(cShow)

 *******************
 * Para Indexar
 *******************
 //  Tabla->Field_Name:=Encrypt(cRut)
 //  Index on Decrypt(Tabla->Field_Name) to index1

return .t.
 


Pruebalo a ver si es lo que estas necesitando.

Re: Consulta Encriptacion Campos

PostPosted: Fri Dec 03, 2021 2:04 pm
by Rick Lipkin
Antonio

Two things :
1) Encrypt your database field and index on that field
2) encrypt the value of your variable you are going to use in your search ..

Now you can search an encrypted value against your indexed encrypted field in your .dbf .. I do it all the time ...

Rick Lipkin

Re: Consulta Encriptacion Campos

PostPosted: Thu Dec 09, 2021 2:33 pm
by remtec
Amigos.

Doy las gracias a Karinha, Jose y Rick, por su gesto de ayuda.

Lamentablmente me tuve que ausentar por unos dias de mi trabajo, motivo por el cual no habia podido ingresar al foro.

Revisare las opciones que me indican y vere cual es la que se acomoda mejor a mi necesidad, ahora ya tengo que probar y adaptar a mi codigo.

Mil gracias a todos.

Saludos.

Antonio