<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DZone Snippets: Adler32 code</title>
    <link>http://snippets.dzone.com/posts</link>
    <pubDate>Fri, 25 Jul 2008 21:11:19 GMT</pubDate>
    <description>DZone Snippets: Adler32 code</description>
    <item>
      <title>Adler32.py</title>
      <link>http://snippets.dzone.com/posts/show/2889</link>
      <description>&lt;code&gt;&lt;br /&gt;__author__="Andrew Pennebaker (andrew.pennebaker@gmail.com)"&lt;br /&gt;__date__="21 Dec 2005 - 17 Jul 2006"&lt;br /&gt;__copyright__="Copyright 2006 Andrew Pennebaker"&lt;br /&gt;__license__="GPL"&lt;br /&gt;__version__="0.3"&lt;br /&gt;__URL__="http://snippets.dzone.com/posts/show/2889"&lt;br /&gt;&lt;br /&gt;import HashFunction&lt;br /&gt;&lt;br /&gt;class Adler32(HashFunction.HashFunction):&lt;br /&gt;	BLOCK_SIZE=1&lt;br /&gt;	DIGEST_SIZE=2&lt;br /&gt;&lt;br /&gt;	INIT=0x0001&lt;br /&gt;	SUM_REQ="Sum &gt;= 0"&lt;br /&gt;&lt;br /&gt;	BASE=65521&lt;br /&gt;&lt;br /&gt;	TEST_DATA="abc"&lt;br /&gt;	TEST_HASH=0x24d0127&lt;br /&gt;&lt;br /&gt;	def __init__(self, sum=0x0001):&lt;br /&gt;		self.sum=sum&lt;br /&gt;&lt;br /&gt;	def sumValid(self, sum):&lt;br /&gt;		return sum&gt;=0&lt;br /&gt;&lt;br /&gt;	def _update(self, b):&lt;br /&gt;		s1=self.sum&amp;0xffff&lt;br /&gt;		s2=(self.sum&gt;&gt;16)&amp;0xffff&lt;br /&gt;&lt;br /&gt;		s1=(s1+(b&amp;0xff))%self.BASE&lt;br /&gt;		s2=(s1+s2)%self.BASE&lt;br /&gt;&lt;br /&gt;		self.sum=(s2&lt;&lt;16)|s1&lt;br /&gt;&lt;br /&gt;	def digest(self):&lt;br /&gt;		return self.sum&lt;br /&gt;&lt;br /&gt;	def formatDigest(self):&lt;br /&gt;		return "%02x" % (self.digest())&lt;br /&gt;&lt;br /&gt;	def unformatDigest(self, hash):&lt;br /&gt;		return int(hash, 16)&lt;br /&gt;&lt;br /&gt;if __name__=="__main__":&lt;br /&gt;	HashFunction.main(Adler32, "Adler32.py")&lt;br /&gt;&lt;/code&gt;</description>
      <pubDate>Wed, 25 Oct 2006 07:06:08 GMT</pubDate>
      <guid>http://snippets.dzone.com/posts/show/2889</guid>
      <author>mcandre (Andrew Pennebaker)</author>
    </item>
  </channel>
</rss>
