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.