cryptohash-sha512-0.11.103.0: cryptohash-sha512.cabal
cabal-version: 2.2
name: cryptohash-sha512
version: 0.11.103.0
synopsis: Fast, pure and practical SHA-512 implementation
description: {
A practical incremental and one-pass, pure API to
the [SHA-512, SHA512/t and SHA-384 cryptographic hash algorithms](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-512 algorithm is implemented in C and is thus expected
to be as fast as the standard [sha512sum(1) tool](https://linux.die.net/man/1/sha512sum).
(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-384: SHA-384-based [Hashed Message Authentication Codes](https://en.wikipedia.org/wiki/HMAC) (HMAC)
- HMAC-SHA-512: SHA-512-based [Hashed Message Authentication Codes](https://en.wikipedia.org/wiki/HMAC) (HMAC)
- HMAC-SHA-512\/t: SHA-512\/t-based [Hashed Message Authentication Codes](https://en.wikipedia.org/wiki/HMAC) (HMAC)
- HKDF-SHA-384: [HMAC-SHA-384-based Key Derivation Function](https://en.wikipedia.org/wiki/HKDF) (HKDF)
- HKDF-SHA-512: [HMAC-SHA-512-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
.
- <https://hackage.haskell.org/package/cryptohash-md5 cryptohash-md5>
- <https://hackage.haskell.org/package/cryptohash-sha1 cryptohash-sha1>
- <https://hackage.haskell.org/package/cryptohash-sha256 cryptohash-sha256>
- <https://hackage.haskell.org/package/cryptohash-sha512 cryptohash-sha512>
.
=== 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-512 hash algorithms without any dependencies on packages
other than @base@ and @bytestring@. The API exposed by @cryptohash-sha512-0.11.*@'s
"Crypto.Hash.SHA512", "Crypto.Hash.SHA512t", and "Crypto.Hash.SHA384" 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 the @cryptohash-0.11.7@ modules mentioned above, 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: BSD-3-Clause
license-file: LICENSE
copyright: Vincent Hanquez, Herbert Valerio Riedel
maintainer: Herbert Valerio Riedel <hvr@gnu.org>
homepage: https://github.com/haskell-hvr/cryptohash-sha512
bug-reports: https://github.com/haskell-hvr/cryptohash-sha512/issues
category: Data, Cryptography
build-type: Simple
tested-with:
GHC == 9.12.2
GHC == 9.10.2
GHC == 9.8.4
GHC == 9.6.7
GHC == 9.4.8
GHC == 9.2.8
GHC == 9.0.2
GHC == 8.10.7
GHC == 8.8.4
GHC == 8.6.5
GHC == 8.4.4
GHC == 8.2.2
extra-source-files: cbits/hs_sha512.h
changelog.md
source-repository head
type: git
location: https://github.com/haskell-hvr/cryptohash-sha512.git
library
default-language: Haskell2010
other-extensions: BangPatterns
CApiFFI
CPP
Trustworthy
Unsafe
build-depends: base >= 4.5 && < 5
, bytestring >= 0.9.2 && < 0.13
hs-source-dirs: src
exposed-modules: Crypto.Hash.SHA512 Crypto.Hash.SHA512t Crypto.Hash.SHA384
other-modules: Crypto.Hash.SHA512.FFI Compat
ghc-options: -Wall -fno-warn-deprecations -fno-cse -O2
cc-options: -Wall
include-dirs: cbits
common test-defaults
default-language: Haskell2010
other-extensions: OverloadedStrings
ghc-options: -Wall -threaded
hs-source-dirs: src-tests
build-depends: cryptohash-sha512
, base
, bytestring
, base16-bytestring >= 1.0.1.0 && < 1.1
, SHA >= 1.6.4 && < 1.7
, tasty >= 1.4 && < 1.6
, tasty-quickcheck >= 0.10 && < 1
, tasty-hunit >= 0.10 && < 0.11
test-suite test-defaults
import: test-defaults
type: exitcode-stdio-1.0
main-is: test-sha512.hs
test-suite test-sha512t
import: test-defaults
type: exitcode-stdio-1.0
main-is: test-sha512t.hs
test-suite test-sha384
import: test-defaults
type: exitcode-stdio-1.0
main-is: test-sha384.hs
benchmark bench-sha512
default-language: Haskell2010
other-extensions: BangPatterns
type: exitcode-stdio-1.0
main-is: bench-sha512.hs
hs-source-dirs: src-bench
build-depends: cryptohash-sha512
, base
, bytestring
, criterion >= 1.5 && <1.7