Tema: Clave
Ver Mensaje Individual
  #7 (permalink)  
Antiguo 31/07/2008, 18:41
yackcae
 
Fecha de Ingreso: junio-2008
Mensajes: 63
Antigüedad: 16 años, 7 meses
Puntos: 2
Respuesta: Clave

Otro método de encriptado es el simple XOR, aquí dejo un pequeño ejemplo:
Código:
char data[128];
char clave[128];
int pos_clave=0; // Posición en la clave
int longitud_data;
int longitud_clave;

printf("Introduzca los datos a encriptar:\n");
gets(data);
printf("Introduzca la clave:\n");
gets(clave);
longitud_data=strlen(data);
longitud_clave=strlen(clave);
for(int N=0; N<longitud_data; N++) {
        data[N]^=clave[pos_clave];
        pos_clave++; if(pos_clave==longitud_clave) pos_clave=0;
}
printf("Datos encriptados: \"%s\"\n", data);
printf("Introduzca la clave:\n");
gets(clave);
longitud_clave=strlen(clave);
pos_clave=0;
for(int N=0; N<longitud_data; N++) {
        data[N]^=clave[pos_clave];
        pos_clave++; if(pos_clave==longitud_clave) pos_clave=0;
}
printf("Datos desencriptados: \"%s\"\n", data);
Hay que tener en cuenta que al encriptar con este método algunos caracteres pueden pasar a ser cero, por lo que al escribirlos en el archivo hay que hacerlo en forma binaria no en texto. ( fopen("Datos.txt","wb"); ).