Newsgroup: it.comp.lang.delphi
Titolo: File integro?

Ho realizzato per la mia applicazione un utility di update via web e ho la 
necessità
di controllare quanto ho scaricato per vedere che non ci sia niente di 
corrotto dato
che vado a sovrascrivere l'eseguibile principale della mia applicazione con 
quanto
scaricato da web.
Esiste un modo da codice per controllare l'integrità di un file?
Grazie
BeNNa 

CRC?
-- 
Alberto Salvati
A *Neapolitan* delphi developer who is studing c# & .Net

 CRC?
oppure MD5? :-)
-- 
Marco «Alka» Breveglieri
  ABLS Team S.n.c. - Software & Web
  Via De Gasperi, 14
  42019 Scandiano (Reggio Emilia)
 
http://www.abls.it

> oppure MD5? :-)
A quel punto, meglio SHA, no? ;)


E c'è una qualche funzione delphi che implementi uno dei metodi che avete 
appena suggerito?
Saluti
Davide 

 appena suggerito?
no, ma se cerchi sui soliti siti trovi un mare di strumenti per queste 
cose.


 appena suggerito?
Leggi le informazioni esaurienti sul CRC che trovi qui:
http://www.efg2.com/Lab/Mathematics/FileCheck.htm
A prima vista, sembra un articolo molto interessante e soprattutto ben 
fatto.
Ciao! :-)


 A quel punto, meglio SHA, no? ;)
SHA č praticamente deceduto:
http://www.mail-archive.com/cryptography%40metzdowd.com/msg02554.html
MD5 non gode di ottima salute:
http://eprint.iacr.org/2004/199.pdf
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 MD5 non gode di ottima salute
Non è un po' eccessivo? Quale sarebbe il gravoso problema a riguardo?


 corrotto
Trasferisci il file zippato e a destinazione unzippalo. se non si
unzippa .....
ottieni il doppio risultato di comprimere e quindi trasferire meno
bytes ed incapsulare il tuo file eventualmente proteggendolo anche con
password.
Per zip/unzip ci sono diverse soluzioni anche free eventualmente
guarda delphizip o cerca sui soliti siti
Giovanni Caramia

 
http://www.mail-archive.com/cryptography%40metzdowd.com/msg02554.html
sha0, x la precisione...Ma ve ne sono altri, tipo sha1.


> Non è un po' eccessivo?
Segui i link e lo scoprirai...

Segui i link e lo scoprirai...
quoto dal documento "The following are two pairs of 1024-bit messages
producing collisions, the two examples have the same 1-st
half 512 bits."
Il pdf da te quotato dimostra, per quanto interessa a me (solo MD5), come
trovare delle collisioni. Dal documento sembra che la cosa non sia cosi'
improbabile come lo si dichiara normalmente.
Cmq, imho, e' come per il GUID: probabile che ce ne siano due uguali, ma
questa probabilita' e' talmente bassa che lo si dichiara "altamente
improbabile".
;)
Le probabilita' di trovare delle collisioni con MD5 sono inversamente
proporzionali alla lunghezza dell'hash, imho con un 128 bit dovrebbe bastare a
dormire sonni tranquilli...
-- 
Morde. 
(
mo...@despammed.com
)
M-List di icld: 
http://it.groups.yahoo.com/group/icld/

 Segui i link e lo scoprirai...
Ovviamente, ho scritto dopo aver letto le risorse linkate. :-)
Non capisco quale danno può arrecare la presenza di alcune collisioni 
(ricercate come vera e propria sfida, tra l'altro, quindi non dovrebbe 
essere così facile individuarle) nell'utilizzo di SHA1 o MD5 per 
criptare password, ad esempio, o verificare eventuali modifiche sparse 
all'interno di un file eseguibile.
Ad esempio, ho utilizzato MD5 con 
ASP.NET
 per memorizzare password in 
forma criptata sfruttando la sua irreversibilità; avendo cura di 
selezionare una password sufficientemente lunga, non vedo come le 
informazioni contenute nel PDF segnalato dovrebbero indurmi a pensare 
che MD5 sia "sul viale del tramonto" e dissuadermi dall'adoperarlo.
Ciao! :-)


 che MD5 sia "sul viale del tramonto" e dissuadermi dall'adoperarlo.
Tu adoperalo pure, per i tuoi scopi, ma non vietare agli altri di pensare
che "abbia qualche problema".  Si tratta di "hashing" e le collisioni
"possono" essere un problema.

 "possono" essere un problema.
Nel contesto che si stava trattando ("file integro?") non penso 
rappresenti un problema; se non è così, parliamone che sono sicuramente 
interessato.
Nel proporre una soluzione, sia io che Alberto (suppongo) abbiamo tenuto 
conto dell'ambito di applicazione, senza la presunzione di risolvere 
tutti i problemi di crittografia estranei.
Oltre a questo, le soluzioni sono state etichettate come "decedute" o in 
"cattivo stato di salute", il ché non mi pare vero osservando quanto 
sono utilizzate globalmente.


> [...]se non č cosě, parliamone che sono sicuramente interessato.
Mi spiace, non ne ho nč il tempo, nč la voglia...
Ciao
Andrea