Adler32 checksum in c++