-
Notifications
You must be signed in to change notification settings - Fork 4
/
cryptohash-sha512.cabal
145 lines (129 loc) · 5.81 KB
/
cryptohash-sha512.cabal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
cabal-version: 2.0
name: cryptohash-sha512
version: 0.11.102.0
x-revision: 4
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)
.
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: BSD3
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.10.1
GHC == 9.8.2
GHC == 9.6.5
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
GHC == 8.0.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
build-depends: base >= 4.5 && < 4.21
, 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-cse -O2
cc-options: -Wall
include-dirs: cbits
test-suite test-sha512
default-language: Haskell2010
type: exitcode-stdio-1.0
hs-source-dirs: src-tests
main-is: test-sha512.hs
ghc-options: -Wall -threaded
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 && < 0.11
, tasty-hunit >= 0.10 && < 0.11
test-suite test-sha512t
default-language: Haskell2010
type: exitcode-stdio-1.0
hs-source-dirs: src-tests
main-is: test-sha512t.hs
ghc-options: -Wall -threaded
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-sha384
default-language: Haskell2010
type: exitcode-stdio-1.0
hs-source-dirs: src-tests
main-is: test-sha384.hs
ghc-options: -Wall -threaded
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
benchmark bench-sha512
default-language: Haskell2010
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