""" crypto.hash.sha1Hash Wrapper for python sha module to support crypo module standard interface Copyright (c) 2002 by Paul A. Lambert Read LICENSE.txt for license information. """ import sha from crypto.hash.hash import Hash class SHA1(Hash): def __init__( self ): self.name = 'SHA1' self.blocksize = 1 # single octets can be hashed by padding to raw block size self.raw_block_size = 64 # SHA1 operates on 512 bit / 64 byte blocks self.digest_size = 20 # or 160 bits self.reset() def reset(self): self.pysha1 = sha.new() def update(self,data): """ Update the sha object with the string arg. Repeated calls are equivalent to a single call with the concatenation of all the arguments: m.update(a); m.update(b) is equivalent to m.update(a+b). """ self.pysha1.update(data) def digest(self): """ Return the digest of the strings passed to the update() method so far. This is a 20-byte string which may contain non-ASCII characters, including null bytes. """ return self.pysha1.digest()