pysha2
pysha2 copied to clipboard
Pure Python implementation of SHA2 (i.e., SHA224, SHA256, SHA384, and SHA512).
.. image:: https://travis-ci.org/thomdixon/pysha2.svg?branch=master :target: https://travis-ci.org/thomdixon/pysha2
====== pysha2
License
This software is distributed under the
MIT License <https://choosealicense.com/licenses/mit/>
_.
About
pysha2 is a pure Python implementation of the FIPS 180-2 secure hash
standard. I originally wrote and published this on the web prior to
the inclusion of hashlib
into the Python standard
library. Unfortunately, the original source was lost due to a hard
drive failure. Fortunately, the library proved useful to some at the
time (due to the prevalence of Python 2.3 and 2.4), and so I was able
to recover all but the unit tests (which I later rewrote).
Usage
The library supports both the "old" hash interface of md5
and
sha
, as well as the "new" hash interface introduced by
hashlib
. This permits you to use pysha2 as a drop-in replacement
for either interface.
A quick example of hashing a string::
import sha2
print sha2.sha256('Can you keep a secret?').hexdigest()
Testing
To run the included unit tests, execute::
python test.py
in the current directory or run with nosetests
.