Differenze tra Adler32 su Java e Python

July 6

Adler32 è un algoritmo di checksum che assicura l'integrità dei dati trasmessi che sono stati memorizzati o compressi e decompressi. 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 stesso non differisce per Java, Python o qualsiasi degli altri linguaggi di programmazione che utilizzano; tuttavia, lo script utilizzato per chiamare l'algoritmo e mostrare i risultati possono variare a seconda del linguaggio di programmazione.

Algoritmo Adler32

Sviluppato da Mark Adler sulla base di checksum di Fletcher, l'algoritmo Adler32 fornisce un unico intero a 32 bit calcolato da una stringa o il blocco dei dati (punto di partenza). Una volta trasmettere i dati, viene eseguita una verifica sul lato di ricezione. Se il risultato della somma di controllo sulla stringa partendo differisce in alcun modo dal risultato del checksum stringa trasmessa al ricevitore, i dati è cambiato in qualche modo. Se i numeri interi che iniziano e terminano corrispondono, c'è una buona possibilità dati ricevuti è lo stesso che i dati trasmessi.

Differenza di script Java e Python

L'elaborazione di valori letterali, come il 32 byte di valore binario risultante dalla somma di controllo Adler32, Java spinge il letterale 32 byte di valore binario su una pila. Python spinge un puntatore nello stack che punta a un oggetto intero corrispondente. Inoltre, Python è più dinamica durante l'elaborazione di bytecode, in cui Java non è flessibile.

Giava

Il calcolo del checksum Adler32 di un file richiede di creare un oggetto di Adler32. Una classe FileInputStream crea un flusso di input per leggere byte dal file, e una volta che vengono trasmessi i dati del checksum viene calcolato dalla classe CheckOutputStream mentre viene scritto sul flusso di output. Il metodo getValue () restituisce il valore del checksum e il reset () metodo reimposta il valore al valore di checksum originale.

Pitone

Il calcolo del checksum Adler a 32 bit, Python esegue un comando semplice per ottenere il checksum di una determinata stringa. Esso utilizza un buffer byte (BUF) per memorizzare il numero. Se il buf non dispone di un numero, la funzione restituisce un valore di default.