This repository has been archived by the owner on Sep 20, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 24
/
Copy pathcryptohash.cabal
119 lines (112 loc) · 4.13 KB
/
cryptohash.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
Name: cryptohash
Version: 0.11.9
Description:
DEPRECATED: this library is still fully functional, but please use cryptonite for new projects
and convert old one to use cryptonite. This is where things are at nowadays.
.
A collection of crypto hashes, with a practical incremental and one-pass, pure APIs,
with performance close to the fastest implementations available in other languages.
.
The implementations are made in C with a haskell FFI wrapper that hide the C implementation.
.
Simple examples using the unified API:
.
> import Crypto.Hash
>
> sha1 :: ByteString -> Digest SHA1
> sha1 = hash
>
> hexSha3_512 :: ByteString -> String
> hexSha3_512 bs = show (hash bs :: Digest SHA3_512)
.
Simple examples using the module API:
.
> import qualified Crypto.Hash.SHA1 as SHA1
>
> main = putStrLn $ show $ SHA1.hash (Data.ByteString.pack [0..255])
.
> import qualified Crypto.Hash.SHA3 as SHA3
>
> main = putStrLn $ show $ digest
> where digest = SHA3.finalize ctx
> ctx = foldl' SHA3.update iCtx (map Data.ByteString.pack [ [1,2,3], [4,5,6] ]
> iCtx = SHA3.init 224
License: BSD3
License-file: LICENSE
Copyright: Vincent Hanquez <[email protected]>
Author: Vincent Hanquez <[email protected]>
Maintainer: Vincent Hanquez <[email protected]>
Synopsis: collection of crypto hashes, fast, pure and practical
Category: Data, Cryptography
Build-Type: Simple
Cabal-Version: >=1.8
Homepage: http://github.com/vincenthz/hs-cryptohash
extra-source-files:
cbits/bitfn.h cbits/sha512.h cbits/sha3.h
cbits/skein.h cbits/skein256.h cbits/skein512.h
README.md
Library
Build-Depends: base >= 4 && < 6, bytestring, byteable, cryptonite >= 0.13, memory, ghc-prim
if impl(ghc >= 7.2.1)
Extensions: Trustworthy
Extensions: ForeignFunctionInterface
Exposed-modules: Crypto.Hash
Crypto.Hash.Types
Crypto.MAC
Crypto.Hash.SHA1
Crypto.Hash.SHA224
Crypto.Hash.SHA256
Crypto.Hash.SHA384
Crypto.Hash.SHA512
Crypto.Hash.SHA512t
Crypto.Hash.SHA3
Crypto.Hash.MD2
Crypto.Hash.MD4
Crypto.Hash.MD5
Crypto.Hash.RIPEMD160
Crypto.Hash.Skein256
Crypto.Hash.Skein512
Crypto.Hash.Tiger
Crypto.Hash.Whirlpool
Crypto.MAC.HMAC
Crypto.MAC.SHA3
Other-modules: Crypto.Hash.Internal
ghc-options: -Wall -optc-O3 -fno-cse -fwarn-tabs
C-sources: cbits/sha512.c
cbits/sha3.c
cbits/skein256.c
cbits/skein512.c
Include-Dirs: cbits
if (arch(i386) || arch(x86_64))
cpp-options: -DARCH_X86
Test-Suite test-kat
type: exitcode-stdio-1.0
hs-source-dirs: Tests
Main-Is: KAT.hs
Build-depends: base >= 4 && < 5
, bytestring
, byteable
, HUnit
, QuickCheck >= 2
, tasty
, tasty-quickcheck
, tasty-hunit
, cryptohash
Benchmark bench-hashes
Main-Is: Bench.hs
hs-source-dirs: Bench
type: exitcode-stdio-1.0
Build-depends: base >= 4, bytestring, criterion, cryptohash
Benchmark bench-hmac
Main-Is: BenchHMAC.hs
hs-source-dirs: Bench
type: exitcode-stdio-1.0
Build-depends: base >= 4, bytestring, criterion, cryptohash, byteable
Benchmark bench-api
Main-Is: BenchAPI.hs
hs-source-dirs: Bench
type: exitcode-stdio-1.0
Build-depends: base >= 4, bytestring, criterion, cryptohash, byteable
source-repository head
type: git
location: git://github.com/vincenthz/hs-cryptohash