Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- int main() {
- FILE *in,*out; //puntatori ai file
- in = fopen("contest_geemba_network_plus_bible.mp4","rb"); //file di input
- out = fopen("contest_geemba_network_plus_bible.xor","wb"); //file di output
- char letto,cifrato; //byte letto e byte cifrato
- int lunghezza_chiave = 5, puntatore = 0; //lunghezza della chiave e puntatore al carattere corrente
- unsigned long long int cifrati = 0; //byte cifrati fino ad ora
- char chiave[] = "secret"; //chiave
- while( fread(&letto, sizeof(char), 1, in) == 1 ) { //leggo byte per byte e memorizzo nella variabile char letto fino a EOF o errore
- cifrati++; //incremento il numero di byte cifrati fino ad ora
- cifrato = letto^chiave[puntatore++]; //eseguo XOR fra il byte letto e il carattere attuale della chiave
- fwrite(&cifrato, sizeof(char), 1, out); //scrivo il byte cifrato
- if (puntatore >= lunghezza_chiave) puntatore = 0; //se ho finito la chiave ricomincio a leggerla dall'inizio
- }
- printf("(De)Cifrati %llu byte\n",cifrati); //Stampo il numero di byte cifrati o decifrati
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement