Exemplo simples de como encriptar arquivo .txt
/*Inicio */
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
char entradachar, recebe_encriptadochar,recebe_rand;
FILE * entrada; /*devera ler o arquivo entrada e gerar uma chave aleatoria e salvar no arquivo chave */
FILE * chave; /*guardar apenas a chave gerada no arquivo entrada */
FILE * encriptado;/*guardar o arquivo encriptado para cada char do arquivo entrada e cada char do arqivo chave gerado aleatoriamente */
printf("Primeiro Exercicio Programa\n");
printf("Criptografia com metodo One - Time Pad\n");
printf("--- Encripta ---\n");
printf("Passos ao executar o programa:\n");
printf("1 - Sera feito a leitura do arquivo entrada.txt.\n");
printf("2 - Gerar um caracter aleatorio.\n");
printf("3 - Todos os caracteres aleatorio sera escrito no aruivo chave.txt.\n");
printf("4 - Para cada caracter lido do arquivo entrada e para cada char aleatorio\nsera feito um xor para encriptar o texto do arquivo entrada.txt.xtt\n ");
printf("5 - O resultado desse xor eh a encriptacao do testo e sera escrito\n no arquivo entrada.enc.\n");
printf("6 - O arquivo chave.txt e o arquivo entrada.enc.txt de ser utilizado no\n programa desencripta.c\n");
srand(time(0));
entrada = fopen("entrada.txt", "r");/*abrir para leitura o arquivo entrada */
fscanf(entrada, "%c", &entradachar);/*lendo o 1 caracter no arquivo entrada */
chave = fopen("chave.txt","w");/*abrir o arquivo chave para escrever o conteudo gerado aleatoriamente */
encriptado = fopen("entrada.enc.txt","w");/*abrir o arquivo entrada.enc para encriptar cada char entrada ^ char chave rand*/
while(!feof (entrada))
{
recebe_rand =(char)(127 * ((float) rand() / RAND_MAX));
fprintf(chave,"%c",recebe_rand);/*escrevendo cada char aleatorio no arquivo chave */
recebe_encriptadochar = entradachar ^ recebe_rand;/*usando xor para cada char escrito no arquivo entrada e cada rand aleatorio e convertendo rand para char rand */
fprintf(encriptado,"%c", recebe_encriptadochar );/*escrevendo no arquivo entrada.enc cada char encriptando */
fscanf(entrada, "%c", &entradachar);/*lendo cada caracter no arquivo entrada ate o fim*/
}
fclose(entrada);/*fechando o arquivo entrada.txt */
fclose(chave);/*fechando o arquivo chave.txt */
fclose(encriptado);
return 0;
}