Adler32 è un algoritmo di checksum che assicura l'integrità dei dati trasmessi che sono stati conservati o compressa e decompressa . Creato con l'aggiunta di tutti i byte in una stringa di dati (blocco ) o una parola , un checksum Adler32 è un intero a 32 bit utilizzato per verificare i dati . L'algoritmo in sé non differisce per Java , Python o uno qualsiasi degli altri linguaggi di programmazione che lo utilizzano , tuttavia, lo script usato per chiamare l'algoritmo e mostrare i risultati possono variare a seconda del linguaggio di programmazione . Adler32 Algoritmo
Sviluppato da Mark Adler sulla base di checksum di Fletcher , l'algoritmo Adler32 fornisce un unico numero intero a 32 bit calcolato da una stringa o il blocco dei dati ( punto di partenza) . Una volta che la trasmissione dei dati , viene effettuato un controllo sul lato di ricezione . Se il risultato del checksum sulla stringa partenza differisce in alcun modo dal risultato del checksum sulla stringa trasmessa al ricevitore , quindi i dati è cambiato in qualche modo. Se i numeri interi iniziale e finale coincidono, c'è una buona possibilità i dati ricevuti è lo stesso che i dati trasmessi .
Java e Python Script Differenza
Processing letterale valori quali il valore binario a 32 byte risultante dal Adler32 checksum , Java spinge il letterale valore binario a 32 byte su una pila . Python spinge un puntatore nello stack che punta a un oggetto intero corrispondente . Inoltre , Python è più dinamico durante l'elaborazione di bytecode , in cui Java non è flessibile .
Java
Calcolo del checksum Adler32 di un file richiede di creare un oggetto della Adler32 . Una classe FileInputStream crea un flusso di input per leggere byte dal file , e una volta che i dati vengono trasmessi il checksum è calcolato dalla classe CheckOutputStream come è stato scritto sul flusso di output . Il metodo getValue ( ) restituisce il valore del checksum e il metodo reset ( ) resetta il valore di nuovo al valore di checksum originale
Python
Calcolo del 32 . - bit di checksum Adler , Python esegue un comando semplice per ottenere il checksum di una data stringa . Esso utilizza un buffer di byte ( buf ) per memorizzare il numero . Se il buf non dispone di un numero , la funzione restituisce un valore di default .