Oppure

Loading
10/08/11 15:56
wasp2.0
avrei una domanda, vorrei programmare qualcosa in c per criptare e decriptare file, solo che non sono un professionista, programmo per hobby, e vorrei qualcuno che riuscisse ad aiutarmi e darmi degli input, spero che ci sia una persona disposta a questa rottura :) grazie in anticipo
aaa
10/08/11 17:19
comina8
Dipende dal tipo di criptatura che vuoi implementare, ma su questo ti conviene fare una ricerca veloce su google, ci sono vari metodi...

Per quanto riguarda l'implementazione vera e propria si può procedere in questo modo:
Mettiamo il caso che il file si un ".txt" ad esempio potresti prendere ogni carattere dal file, aggiungerci un valore e riscriverlo sul file in output criptato. Per decriptarlo prendi ogni carattere, sottrai quel valore e lo riscrivi.
Naturalmente il valore dev'essere costante.
Ora questo metodo è assolutamente ridicolo ma serve per iniziare a entrare nella logica.
Se il file è invece in un altro formato occorre aprirlo in "modalità" binaria.
In questo modo bisogna leggere con la funzione fread

fread(&Byte,1,sizeof(char),FilePointer);

e scorrere tutto il file per modificare gli elementi...e via via come prima.

EDIT:

Un esempietto può essere questo:

FILE *fpInput, *fpOutput;
char Ch;

fpInput=fopen("fileInput.txt","r");
fpOutput=fopen("fileOutput.txt","w");

while((Ch=fgetc(fpInput))!=EOF)
{
   switch(Ch)
          {
               case 'A': Ch=ChiavePerA; break;
               case 'B': Ch=ChiavePerB; break;
               ...
          }
   fputc(Ch,fpOutput);
}

fclose(fpInput);
fclose(fpOutput);


Questo server per i file testuali, per i file binari al posto di Ch=fgetc(fpInput)
usi fread(&Ch,1,1,fpInput) e al posto di fputc(Ch,fpOutpub) usi fwrite(&Ch,1,1,fpOutput). I file naturalmente devi aprirli in "rb" e "wb".
Ultima modifica effettuata da comina8 11/08/11 15:07
aaa
10/08/11 22:20
popp109
Salve sto creando un compilatore e quando vado a creare il binario dei vari sorgenti del mio linguaggio sono incomprensibili ma sono ugualmente leggibili in alcune sue parti.Che sistema devo utilizzare per criptare quelle parti di codice visibile?devo farlo durante la creazione o dopo che il file è stato creato?
Ho provato a criptare leggendo lettera per lettera ma aumentano i tempi di compilazione.
grazie!!!;)
aaa
11/08/11 9:22
comina8
Intendi che se apri l'eseguibile con un editor di testo si leggono alcune scritte?

Se si basterà aprire il file in binario, criptare con una chiave ogni carattere letto e riscrivere l'eseguibile.
L'unico problema è che una volta aperto (per eseguirlo) bisogna decriptarlo quindi i suddetti eseguibili li dovresti aprire con un apposito programma implementato da te che prima li decripta poi li apre e in eseguito li re-cripta...

Naturalmente i tempi si allungano un pochino...
aaa