cabal-version: 1.12 name: cryptohash-sha256 version: 0.11.101.0 x-revision: 4 synopsis: Fast, pure and practical SHA-256 implementation description: { A practical incremental and one-pass, pure API to the [SHA-256 cryptographic hash algorithm](https://en.wikipedia.org/wiki/SHA-2) according to [FIPS 180-4](http://dx.doi.org/10.6028/NIST.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](https://linux.die.net/man/1/sha256sum); 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](https://hackage.haskell.org/package/SHA).) . Additionally, this package provides support for . - HMAC-SHA-256: SHA-256-based [Hashed Message Authentication Codes](https://en.wikipedia.org/wiki/HMAC) (HMAC) - HKDF-SHA-256: [HMAC-SHA-256-based Key Derivation Function](https://en.wikipedia.org/wiki/HKDF) (HKDF) . conforming to [RFC6234](https://tools.ietf.org/html/rfc6234), [RFC4231](https://tools.ietf.org/html/rfc4231), [RFC5869](https://tools.ietf.org/html/rfc5869), et al.. . === Packages in the @cryptohash-*@ family . - - - - . === 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](https://www.reddit.com/r/haskell/comments/5lxv75/psa_please_use_unique_module_names_when_uploading/dbzegx3/). } license: BSD3 license-file: LICENSE copyright: Vincent Hanquez, Herbert Valerio Riedel maintainer: Herbert Valerio Riedel homepage: https://github.com/hvr/cryptohash-sha256 bug-reports: https://github.com/hvr/cryptohash-sha256/issues category: Data, Cryptography build-type: Simple tested-with: GHC == 7.4.2 , GHC == 7.6.3 , GHC == 7.8.4 , GHC == 7.10.3 , GHC == 8.0.2 , GHC == 8.2.1 , GHC == 8.4.1 extra-source-files: cbits/hs_sha256.h changelog.md source-repository head type: git location: https://github.com/hvr/cryptohash-sha256.git flag exe description: Enable building @sha256sum@ executable manual: True default: False library default-language: Haskell2010 other-extensions: BangPatterns CApiFFI Trustworthy Unsafe build-depends: base >= 4.5 && < 4.15 , bytestring >= 0.9.2 && < 0.11 ghc-options: -Wall hs-source-dirs: src exposed-modules: Crypto.Hash.SHA256 other-modules: Crypto.Hash.SHA256.FFI include-dirs: cbits executable sha256sum hs-source-dirs: src-exe main-is: sha256sum.hs ghc-options: -Wall -threaded if flag(exe) default-language: Haskell2010 other-extensions: RecordWildCards build-depends: cryptohash-sha256 , base , bytestring , base16-bytestring >= 0.1.1 && < 0.2 else buildable: False test-suite test-sha256 default-language: Haskell2010 other-extensions: OverloadedStrings type: exitcode-stdio-1.0 hs-source-dirs: src-tests main-is: test-sha256.hs ghc-options: -Wall -threaded build-depends: cryptohash-sha256 , base , bytestring , base16-bytestring >= 0.1.1 && < 0.2 , SHA >= 1.6.4 && < 1.7 , tasty == 0.11.* , tasty-quickcheck == 0.8.* , tasty-hunit == 0.9.* benchmark bench-sha256 default-language: Haskell2010 other-extensions: BangPatterns type: exitcode-stdio-1.0 main-is: bench-sha256.hs hs-source-dirs: src-bench build-depends: cryptohash-sha256 , base , bytestring , criterion == 1.1.*