Newsgroup: it.comp.lang.c
Titolo: Come faccio a criptare un file?


Come principio generale ti consiglio di leggere da un file e scrivere su un
altro. Dopodichè cancelli il file originale non criptato e rinomini il nuovo
file
--
Live Long And Prosper
Emanuele Manco
Every generation has a legend... Every journey has a first step... Every
saga has a beginning...
E-mail: 
ma...@tiscalinet.it
Home Page: 
http://hpdma2.math.unipa.it/Manco/source.html
Stardate Home Page: 
http://hpdma2.math.unipa.it/Manco/stardate.htm

 fa? E' come quando lo apri in modalità w o cambia qualcosa?
Cambia che il file viene completamente svuotato. Cos'è esattamente che
non ti funziona con la modalità r+? Fammi un piccolo esempio...
EMG

file
Per rendere il tutto + sicuroi  ti convuene non cancellare
semplicemente il file originale ma fare un wipe..in pratica guardi
quant'era lungo il file originale (contatore con fopen) e poi lo
riempi con un uguale numero di byte come vuoi (ad esempio tutte a ) e
poi lo cancelli..cosi' sara' stato anche sovrascritto...tra parentesi
e' quello che fa PGPO quando fai encrypt_>wipe original
Augusto Pucci
Webmaster di Prospektiva On-line
http://www.prospektiva.it

inclusivo che opera a
OR inclusivo ? ma caso mai sara' a OR "esclusivo" alias XOR no ?


 
http://www.prospektiva.it
Hai ragione è uno XOR....
Il fatto è che prima avevo tentato con un OR inclusivo(alias | ).....
Poi mi sono dimenticato di sostituire il commento....
Per quanto riguarda il tuo consiglio, lo seguirò è una buona idea...
Le Norton Utilities sono sempre in agguato.... ^__^
Ascolta, tu non sapresti dove trovare documentazione sul DES o in generale
un buon testo di crittografia?
Magari che parta da 0 e arrivi a trattare il DES e altri algoritmi?
Grazie in anticipo per una eventuale risposta....
Steve

  ....
Questo ciclo è sbagliato: l'ultima riga viene letta due volte, la prima
volta è decrittata/crittata, la seconda volta viene crittata/decrittata 
nuovamente.
Potresti riscriverlo come:
	while (fgets(leggi, sizeof leggi, fp)) {
		char *pc;
		for (pc = leggi; *pc; pc++)
			*pc ^= cripta;
		fputs(leggi, ch);
	}
Fai attenzione che comunque il tuo programma non gestisce correttamente
le lettere accentate.
Ciao ciao,
Andrea
-- 
"...Unix, MS-DOS, and Windows NT (also known as the Good, the Bad, and 
 the Ugly)."
(by Matt Welsh)


wrote:

Un buon testo..anche se solo introduttivo e' "!Sefreti Spie Codici
Cifrati" edizioni apogeo c'e' anche il cd allegato con un sacco di
esempi e appendici di approfodimento.
Una storia piuttosto cvompleta degli algoritmi di cifratura a partire
ddal codice cesare fino al PGP introduce i concetti basilari e propone
una critica ben fatta al des e un confronto con l'rsa... conclude il
tutto una bella sezione sul rapporto legge7crittografia


   }
Io di algoritmi si criptazione ne capisco zero, ma volevo farti una
domanda....
Perchč la chiave deve essere >200 e <256?
PS. di solito le variabili č buona norma dichiararle all'interno della
funzione in cui vengono usate... anche se in questo caso con solo il main()
fa poca differenza.



PSS. di solito si usa la seguente convenzione quando il programma viene
terminato a causa di errore viene restituito un valore diverso da 0 (magari
a seconda dell'errore usi un valore diverso), se viene terminato normalmente
allora si ritorna 0

 allora si ritorna 0
Vero :-) Sono solo agli inizi, perdonatemi qualche cosa.....
Comunque grazie del consiglio!
;D
Steve