At 03:52 PM 6/30/2004 -0700, Gregory P. Smith wrote: [...] >The point about SSL being included is interesting. The OpenSSL library >provides implementations of all of the important hash algorithms (and >uses them in order to implement ssl!). Its hashing code is much better >optimized on various architectures than the python module ever will >be. On my P4, OpenSSL SHA-1 looks around 25% faster (75 vs. 60 MB/s). FWIW, I've changed the patch to support SHA224, 384, and 512. There are "sha256" and "sha512" modules, with an extra function in each module for the truncated algorithm: >>> from sha256 import sha256, sha224 >>> from sha512 import sha512, sha384 >>> >>> sha256("abc").hexdigest() 'ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad' >>> >>> sha384("abc").hexdigest() 'cb00753f45a35e8bb5a03d699ac65007272c32ab0eded1631a8b605a43ff5bed8086072ba1e7cc2358baeca134c825a7' http://sourceforge.net/tracker/index.php?func=detail&aid=935454&group_id=5470&atid=305470 Since there are some module-level functions and constants (new(), digestsize, blocksize), I like using separate modules instead of sticking everything in 'sha'. We could also add some simple wrapper modules for sha224 and sha384 to make them appear as top-level modules, like the other ones. Trevor
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4