See RFC1950:
ADLER32 (Adler-32 checksum)
This contains a checksum value of the uncompressed data
(excluding any dictionary data) computed according to Adler-32
algorithm. This algorithm is a 32-bit extension and
improvement of the Fletcher algorithm, used in the ITU-T X.
224 / ISO 8073 standard. See references [4] and [5] in
Chapter 3, below)
Adler-32 is composed of two sums accumulated per byte: s1 is
the sum of all bytes, s2 is the sum of all s1 values. Both
sums are done modulo 65521. s1 is initialized to 1, s2 to
zero. The Adler-32 checksum is stored as s2*65536 + s1 in
most- significant-byte first (network) order.