File: cryptohash.cabal

package info (click to toggle)
haskell-cryptohash 0.11.9-6
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 336 kB
  • sloc: haskell: 1,325; ansic: 991; makefile: 4
file content (119 lines) | stat: -rw-r--r-- 4,230 bytes parent folder | download | duplicates (5)
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 <vincent@snarc.org>
Author:              Vincent Hanquez <vincent@snarc.org>
Maintainer:          Vincent Hanquez <vincent@snarc.org>
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