Adler32 es un algoritmo de suma de control que asegura la integridad de los datos transmitidos que han sido almacenados o comprime y se descomprime . Creado mediante la adición de todos los bytes en una cadena de datos (bloque ) o una palabra , un Adler32 checksum es un entero de 32 bits que se utiliza para verificar los datos . El algoritmo en sí no difiere para Java , Python o cualquiera de los otros lenguajes de programación que lo utilizan , sin embargo , la secuencia de comandos utiliza para llamar al algoritmo y mostrar los resultados pueden variar dependiendo del lenguaje de programación . Adler32 Algoritmo
Desarrollado por Mark Adler sobre la base de la suma de comprobación de Fletcher , el algoritmo Adler32 proporciona un único número entero de 32 bits calculado a partir de una cadena o un bloque de datos ( punto de partida ) . Una vez que usted transmita los datos, se realiza una comprobación en el extremo receptor . Si el resultado de la suma de comprobación en la cadena de partida difiere en modo alguno a partir del resultado de la suma de comprobación en la cadena de transmisión para el receptor , entonces los datos ha cambiado de algún modo . Si los enteros inicial y final coinciden, hay una buena posibilidad de que los datos recibidos son los mismos que los datos que se transmiten.
Java y Python script Diferencia
procesamiento literal los valores tales como el valor binario de 32 bytes resultante de la suma de comprobación Adler32 , empuja Java el valor binario 32 literal de bytes en una pila . Empuja Python un puntero en la pila que se apunta a un objeto entero correspondiente . Además , Python es más dinámico en el tratamiento de códigos de bytes , en Java no es tan flexible.
Java
Cálculo de la suma de comprobación Adler32 de un archivo requiere que usted crear un objeto de Adler32 . Una clase FileInputStream crea un flujo de entrada para leer bytes desde el archivo , y una vez que se transmiten los datos de la suma de comprobación se calcula por la clase CheckOutputStream ya que está siendo escrito en el flujo de salida . El método getValue ( ) devuelve el valor de la suma de comprobación y el método reset () restablece el valor de nuevo al valor de la suma original,
Python
Cálculo de la 32 . - bit Adler checksum , Python ejecuta un comando simple para obtener la suma de comprobación de una cadena determinada . Se utiliza un tampón de bytes ( BUF ) para almacenar el número . Si el buf no tiene un número, la función devuelve un valor predeterminado.