Nwlapcug.com


Differenze tra Adler32 su Java & Python

Adler32 è un algoritmo di checksum che assicura l'integrità dei dati trasmessi che 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 integer a 32 bit utilizzato per verificare i dati. Lo stesso algoritmo non differisce per Java, Python o di altri linguaggi di programmazione che lo utilizzano; Tuttavia, lo script utilizzato per chiamare l'algoritmo e mostrare i risultati può variare a seconda del linguaggio di programmazione.

Adler32 algoritmo

Sviluppato da Mark Adler in base al checksum di Fletcher, l'algoritmo Adler32 fornisce un singolo valore integer a 32-bit calcolato da una stringa o un blocco di dati (punto di partenza). Una volta che è possibile trasmettere i dati, viene eseguito un controllo sul lato ricevente. Se il risultato del checksum alla stringa di partenza è diverso in qualche modo dal risultato del checksum sulla stringa trasmessa al ricevitore, quindi i dati sono cambiati in qualche modo. Se corrispondono i numeri interi iniziale e finali, c'è una buona possibilità che i dati ricevuti sono lo stesso come i dati che hai trasmesso.

Java e Python Script differenza

L'elaborazione di valori letterali, ad esempio il valore binario di 32 byte risultanti dal checksum Adler32, Java spinge il valore binario di 32 byte letterale in uno stack. Python inserisce un puntatore nello stack che sta puntando a un oggetto di valore integer corrispondente. Inoltre, Python è più dinamico durante l'elaborazione in bytecode, dove Java non è così flessibile.

Java

Calcolando il Adler32 checksum 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 i dati vengono trasmessi il checksum viene calcolato dalla classe CheckOutputStream, come esso è stato scritto sul flusso di output. Il metodo GetValue () restituisce il valore del checksum e il metodo Reset reimposta il valore il valore di checksum originale.

Python

Calcolando il checksum di Adler a 32-bit, Python esegue un comando semplice per ottenere il valore di checksum di una stringa specificata. Utilizza un buffer di byte (buf) per memorizzare il numero. Se il buf non dispone di un numero, la funzione restituisce un valore predefinito.