Del manual de google para ADS:
4.8.1. Protección por encriptamiento de datos:
El primer esquema de protección consiste en encriptamiento de los datos mediante un algortimo de 160 bits,que garantiza claves unicas para cada carácter dentro de las tablas. A diferencia de otros mecanismos de encriptamiento, ADS puede encriptar no solo campos cadena de caracteres, sino también campos numéricos, lógicos, fecha, memo y BLOB.
El proceso de encriptamiento se realiza a partir de una llamada a la función AdsEnableEncryption(), la cual recibe como parámetro una cadena de caracteres que es una “llave” de encriptamiento, a partir de la llamada a esta función todos los datos de inserción y actualización de datos se realizan de manera encriptada:
- Code: Select all Expand view RUN
USE ARCHIVO:DBF
AdsEnableEncryption(“clave2”)
El encriptamiento se realiza por área de trabajo, razón por la cual, es posible tener distantas llaves de encriptación para los distintos archivos
- Code: Select all Expand view RUN
USE ARCH1.DBF
AdsEnableEncryption(“clave1”)
USE ARCH2.DBF
ADSEnableEncryption(“clave2”)
Si la tabla no se encuentra encriptada y se desea encriptar en su totalidad, se debe utilizar la función AdsEncryptTable()
- Code: Select all Expand view RUN
USE ARCHIVO.DBF
AdsEnableEncryption(“clave1”)
AdsEncryptTable()
CLOSE
A partir del encriptamiento de la tabla, siempre que se haga uso de ella, será necesario utilizar la función AdsEnableEncryption() con la clave de encriptamiento adecuada, para poder hacer actualizaciones al archivo, si la clave de encriptamiento no es correcta, el archivo se abre pero no se pueden leer ni modificar datos.
Cuando una tabla se encripta, también se realizan procesos de encriptamiento en la cabecera del archivo, esto se hace con el fin de que los datos no puedan ser leidos por ningún programa externo, incluyendo el ARC, el cual pedirá la clave de encriptamiento cuando se intente abrir el archivo.
El proceso de encriptar / desencriptar, pasa por el servidor ADS, los datos siempre permanecen almacenados de manera encriptada y es el servidor quien se encarga de los procesos de traducción, es decir, el servidor leerá los datos de archivo encriptado, desencripta la información y los devuelve al cliente de manera desencriptada y viceversa, en los procesos de actualización / inserción, los datos son recibidos del cliente de manera desencriptada, y cuando son escritos en el archivo de datos, el servidor encripta y guarda.