cryptohash-sha256: Fast, pure and practical SHA-256 implementation

[ bsd3, cryptography, data, library ] [ Propose Tags ]

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

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 cryptohash 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 other than base and bytestring. The API exposed by cryptohash-sha256-0.11.*'s Crypto.Hash.SHA256 module is guaranteed to remain a compatible superset of the API provided by the cryptohash-0.11.7's module of the same name.

Consequently, this package is designed to be used as a drop-in replacement for cryptohash-0.11.7's Crypto.Hash.SHA256 module, though with a clearly smaller footprint by almost 3 orders of magnitude.

Versions [RSS] [faq] 0.11.7.1, 0.11.7.2, 0.11.100.0, 0.11.100.1, 0.11.101.0, 0.11.102.0
Change log changelog.md
Dependencies base (>=4.5 && <4.16), bytestring (>=0.9.2 && <0.10 || >=0.10.0 && <0.11 || >=0.11.0 && <0.12) [details]
License BSD-3-Clause
Copyright Vincent Hanquez, Herbert Valerio Riedel
Author
Maintainer Herbert Valerio Riedel <hvr@gnu.org>
Revised Revision 1 made by GershomBazerman at 2021-06-15T23:56:48Z
Category Data, Cryptography
Home page https://github.com/hvr/cryptohash-sha256
Bug tracker https://github.com/hvr/cryptohash-sha256/issues
Source repo head: git clone https://github.com/hvr/cryptohash-sha256.git
Uploaded by HerbertValerioRiedel at 2021-01-24T22:11:02Z
Distributions Arch:0.11.102.0, Debian:0.11.101.0, Fedora:0.11.101.0, LTSHaskell:0.11.102.0, NixOS:0.11.102.0, Stackage:0.11.102.0, openSUSE:0.11.101.0
Executables sha256sum
Downloads 39541 total (608 in the last 30 days)
Rating 2.25 (votes: 2) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs uploaded by user
Build status unknown [no reports yet]

Modules

[Index] [Quick Jump]

Flags

NameDescriptionDefaultType
exe

Enable building sha256sum executable

DisabledManual
use-cbits

Use fast optimized C routines via FFI; if flag is disabled falls back to non-FFI Haskell optimized implementation.

EnabledManual

Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info

Downloads

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'.

Maintainer's Corner

For package maintainers and hackage trustees

Candidates