cryptohash-sha256: Fast, pure and practical SHA-256 implementation
A practical incremental and one-pass, pure API to the SHA-256 cryptographic hash algorithm according to FIPS 180-4 with performance close to the fastest implementations available in other languages.
The core SHA-256 algorithm is implemented in C and is thus expected to be as fast as the standard sha256sum(1) tool; for instance, on an Intel Core i7-3770 at 3.40GHz this implementation can compute a SHA-256 hash over 230 MiB of data in under one second. (If, instead, you require a pure Haskell implementation and performance is secondary, please refer to the SHA package.)
Additionally, this package provides support for
HMAC-SHA-256: SHA-256-based Hashed Message Authentication Codes (HMAC)
HKDF-SHA-256: HMAC-SHA-256-based Key Derivation Function (HKDF)
conforming to RFC6234, RFC4231, RFC5869, et al..
Relationship to the
cryptohash package and its API
This package has been originally a fork of
cryptohash-0.11.7 because the
package had been deprecated and so this package continues to satisfy the need for a
lightweight package providing the SHA-256 hash algorithm without any dependencies on packages
bytestring. The API exposed by
Crypto.Hash.SHA256 module is guaranteed to remain a compatible superset of the API provided
cryptohash-0.11.7's module of the same name.
Consequently, this package is designed to be used as a drop-in replacement for
Crypto.Hash.SHA256 module, though with
a clearly smaller footprint by almost 3 orders of magnitude.
[Index] [Quick Jump]
Use fast optimized C routines via FFI; if flag is disabled falls back to non-FFI Haskell optimized implementation.
Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info
- cryptohash-sha256-0.11.102.1.tar.gz [browse] (Cabal source package)
- Package description (revised from the package)
Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.
For package maintainers and hackage trustees
|Versions [RSS]||0.11.7.1, 0.11.7.2, 0.11.100.0, 0.11.100.1, 0.11.101.0, 0.11.102.0, 0.11.102.1|
|Dependencies||base (>=4.5 && <4.19), bytestring (>=0.9.2 && <0.10 || >=0.10.0 && <0.11 || >=0.11.0 && <0.12) [details]|
|Copyright||Vincent Hanquez, Herbert Valerio Riedel|
|Maintainer||Herbert Valerio Riedel <email@example.com>|
|Revised||Revision 2 made by AndreasAbel at 2023-03-16T23:42:38Z|
|Source repo||head: git clone https://github.com/hvr/cryptohash-sha256.git|
|Uploaded||by phadej at 2021-10-10T16:53:05Z|
|Distributions||Arch:0.11.102.1, Debian:0.11.101.0, Fedora:0.11.102.1, LTSHaskell:0.11.102.1, NixOS:0.11.102.1, Stackage:0.11.102.1, openSUSE:0.11.102.1|
|Reverse Dependencies||40 direct, 100 indirect [details]|
|Downloads||48778 total (264 in the last 30 days)|
|Rating||2.25 (votes: 2) [estimated by Bayesian average]|
|Status||Docs available [build log]
Last success reported on 2021-10-10 [all 1 reports]