// adler32.h - written and placed in the public domain by Wei Dai//! \file//! \headerfile adler32.h//! \brief Class file for ADLER-32 checksum calculations#ifndef CRYPTOPP_ADLER32_H#define CRYPTOPP_ADLER32_H#include "cryptlib.h"NAMESPACE_BEGIN(CryptoPP)//! ADLER-32 checksum calculations classAdler32:publicHashTransformation{public:CRYPTOPP_CONSTANT(DIGESTSIZE=4)Adler32(){Reset();}voidUpdate(constbyte*input,size_tlength);voidTruncatedFinal(byte*hash,size_tsize);unsignedintDigestSize()const{returnDIGESTSIZE;}staticconstchar*StaticAlgorithmName(){return"Adler32";}std::stringAlgorithmName()const{returnStaticAlgorithmName();}private:voidReset(){m_s1=1;m_s2=0;}word16m_s1,m_s2;};NAMESPACE_END#endif