Newsgroup: it.comp.lang.visual-basic
Titolo: CRC e crc32 file info

Scusate ma a riguardo ne so poco sinceramente le mie conoscenze si
limitano alla indicazione fornita sul winzip di un determinato file
di quello che credo sia il CRC32
Mi sembra di aver capito che tramite il CRC di un file esso possa essere
individuato in maniera univoca anche se ha nomi diversi o la stessa
dimensiona di un altro file, siccome la cosa mi interessa vorrei sapere
se e' possibile e in che modo con VB6 conoscere il crc32 di un
determinato file ad esempio pippo.exe
Grazie per aver avuto comprensione e pazienza
Nicky.

Il CRC (ciclic redundancy check) è un sistema per determina se
un'informazione
è transitata intatta tramite un canale di trasmissione inaffidabile (error
prone).
Non esiste UN CRC ma diversi.
Il CRC non è altro che un polinomio binario la cui potenza massima (che,
per per i polinomi binari corrisponde (+/-) al numero di bit utilizzati per
costruire il CRC) è il numero indicato (ossia un CRC16 è un polinomio
binario di grado 16, il CRC32 è un di grado 32 ossia formato da 32
coefficienti, ecc.).
+/- l'algoritmo funziona così (i dettagli li trovi in rete o sui testi di
teoria della trasmissione dell'informazione):
si applica il polinomio a tutto il messaggio.
Alla fine il polinomio restituisce un "resto" che viene inviato con
il messaggio stesso.
Il ricevente riapplica il medesimo polinomio a ciò che ha ricevuto
e vi sottrae il resto. Se il risultato è 0, è molto probabile (ma non
certo!)
che il messaggio ricevuto sia identico a quello inviato.
In caso contrario vi sono 1 o + errori, che in taluni casi possono anche
essere corretti utilizzando il CRC (in pratica il funzionamento ECC
delle memorie dei server).
I polinomi usati comunemente sono descritti in letteratura.
Se effettui una ricerca in rete sicuramente troverai diversi
sorgenti per calcolcare il CRC che ti interessa. Quasi sicuramente
si tratta di sorgenti C poichè il calcolo dei CRC (che implica la
manipolazione di polinomi binari) si basa pesantemente sulla
manipolazione dei bit, e questo viene fatto efficaciemente dal
C o dall'assembler (molto meno da VB ;-)).
Buon lavoro, Massimo.

...

Il CRC32 è un numero a 32 bit che viene calcolato sulla base dei bytes
presenti in un files.
Il calcolo fatto è particolare, non lineare, e divernasmente dai metodi di
SOMMA e XOR che danno risultati poco affidabili, il CRC è molto affidabile.
In pratica, sbilanciandosi un po', la possibilità che 2 files diversi diano
lo stesso CRC32 è circa 1 su 4 miliardi.
Io posseggo i sorgenti del calcolo del CRC, sia in VB che in Delphi. Al piu'
presto la inviero' al WM del Sito Comune di questo NG, e magari anche a
it.binari.visual-basic, e comunque se aspetti questa notte (che torno a
casa, ola sto "lavorando :-) ti invio quella in VB.
Salutoni
Ettore Maronese  By -MES-
http://www.maronese.com/mes
Sito Comune di questo NG
http://www.murialdo.it/it_lang_vb

...
Qual'e' il tuo reale indirizzo di posta elettronica?
Non dirmi che e' 
37CC4A0D...@vastocom1.clio.it
 perche' non ci credo.
Ciao
By -MES-   Maronese Ettore
http://www.maronese.com/mes
(con OCX per stampare i recordset)
Sito Comune di programmatori Visual Basic
http://www.murialdo.it/it_lang_vb

 Non dirmi che e' 
37CC4A0D...@vastocom1.clio.it
 perche' non ci credo.
Dovrebbe essere
Ni...@vastocom1.clio.it
Click destro-->Proprietà-->Dettagli-->Campo From:  ;-))
Bye, G.
--
---------------------------------------------
    Le risposte alle tue domande le trovi
    sul Sito Comune di questo NewsGroup:
 
http://www.murialdo.it/it_lang_vb
       ... e nell'help in linea !
---------------------------------------------
Real E-address: 
gaet...@hotmail.com