La Web del Programador: Comunidad de Programadores
 
    Pregunta:  7706 - PROTEGER UNA BASE DE DATO CON CLAVE
Autor:  Mauricicio Gerardo Landaida
Hola, mi problema es el siguiente, tengo una bases de Pago muy importante y estan colocadas en una base de dato, necesito saber si hay alguna forma de protegerla atravez de una clave o algo similar, para que no se pueda abrir directamente desde otra maquina que tenga Instalado VFP6 o Similar, En Visual Basic, vos le pones una clave a la Base de dato y despues por codigo le pasas la clave y funciona de 10, si lo queres abrir de cualquier lado te pide la clave.
Desde ya les agradesco por vueestra ayuda

  Respuesta:  Esteban Micossi
Hola
Proba con esto:

*Aqui va la funcion:
*Nota: mi_tabla.dbf es mi tabla que yo he protegido.
*
*Function Protec
*&&******************************************
close all
handle=FOPEN("mi_tabla.dbf",2) && abre en modolectura escritura
primerbyte=FREAD(handle,1) && lee el 1er byte
do case
case primerbyte=CHR(255) && si esta protegido
escribe=chr(3) && lo desprotege
case primerbyte=CHR(3) && si este desprotegido
escribe=chr(255) && lo protege
endcase
=FSEEK(handle,0,0)
=FWRITE(handle,escribe,1)
=FCLOSE(handle)
Return .t.

Comentame como te fue. Te digo que funciona muy bien

Saludos

  Respuesta:  Jorge Ortiz
Mauricio, el proximo VFP 7 traerá la funcion de encriptación de datos incorporada. Por ahora puedes usar una librería llamada CIPHER 5.0 la cual es para VFP5 pero funciona en VFP 6.
Otra forma es que construyas una funcion de bajo nivel y le borres o vuelvas a generar el header de la tabla cada ves que las utilices.