Skip to main content

sha256 library with midstate

Project description

This is a SHA-256 implementation that allows for setting and getting the mid-state information. This was needed to enable repeated hashing against a (potentially large) fixed prefix.


The original version of this was written in Python. While the Cython version will be much faster, this is not a highly optimized library and relies on the native C compiler for optimization.


This repository does not contain the generated C code from Cython. To recreate the C code run the cytnonize step via:

python3 -m pip install --upgrade build
python3 -m build


The original author was Thomas Dixon for a python version of this code. Sam Rushing added the midstate access and converted it to Cython. Nigel Drego added the context state setter/getter.


This is licensed under the MIT license based on the original license from Thomas Dixon.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sha256-1.0.tar.gz (83.8 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page