Mercurial > paraspace
view paraspace/tools.py @ 68:b7432d6f7e93
adler32
author | Thinker K.F. Li <thinker@codemud.net> |
---|---|
date | Wed, 29 Jun 2011 19:56:24 +0800 |
parents | |
children | ff6f869273b7 |
line wrap: on
line source
base = 65521 def adler32(adler, buf, offset, sz): sum1 = adler & 0xffff sum2 = (adler >> 16) & 0xffff for off in range(offset, offset + sz): sum1 = (sum1 + ord(buf[off])) % base sum2 = (sum2 + sum1) % base pass r = (sum2 << 16) | sum1 return r