1cabal-version: >=1.10 2name: cryptohash-sha1 3version: 0.11.100.1 4x-revision: 5 5 6synopsis: Fast, pure and practical SHA-1 implementation 7description: { 8 9A practical incremental and one-pass, pure API to 10the [SHA-1 cryptographic hash algorithm](https://en.wikipedia.org/wiki/SHA-1) according 11to [FIPS 180-4](http://dx.doi.org/10.6028/NIST.FIPS.180-4) 12with performance close to the fastest implementations available in other languages. 13. 14The core SHA-1 algorithm is implemented in C and is thus expected 15to be as fast as the standard [sha1sum(1) tool](https://linux.die.net/man/1/sha1sum). 16(If, instead, you require a pure Haskell implementation and performance is secondary, please refer to the [SHA package](https://hackage.haskell.org/package/SHA).) 17. 18Additionally, this package provides support for 19. 20- HMAC-SHA-1: SHA-1-based [Hashed Message Authentication Codes](https://en.wikipedia.org/wiki/HMAC) (HMAC) 21. 22conforming to [RFC6234](https://tools.ietf.org/html/rfc6234), [RFC4231](https://tools.ietf.org/html/rfc4231), [RFC5869](https://tools.ietf.org/html/rfc5869), et al.. 23. 24=== Packages in the @cryptohash-*@ family 25. 26- <https://hackage.haskell.org/package/cryptohash-md5 cryptohash-md5> 27- <https://hackage.haskell.org/package/cryptohash-sha1 cryptohash-sha1> 28- <https://hackage.haskell.org/package/cryptohash-sha256 cryptohash-sha256> 29- <https://hackage.haskell.org/package/cryptohash-sha512 cryptohash-sha512> 30. 31=== Relationship to the @cryptohash@ package and its API 32. 33This package has been originally a fork of @cryptohash-0.11.7@ because the @cryptohash@ 34package had been deprecated and so this package continues to satisfy the need for a 35lightweight package providing the SHA-1 hash algorithm without any dependencies on packages 36other than @base@ and @bytestring@. The API exposed by @cryptohash-sha1-0.11.*@'s 37"Crypto.Hash.SHA1" module is guaranteed to remain a compatible superset of the API provided 38by the @cryptohash-0.11.7@'s module of the same name. 39. 40Consequently, this package is designed to be used as a drop-in replacement for @cryptohash-0.11.7@'s 41"Crypto.Hash.SHA1" module, though with 42a [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/). 43 44} 45 46license: BSD3 47license-file: LICENSE 48copyright: Vincent Hanquez, Herbert Valerio Riedel 49maintainer: Herbert Valerio Riedel <hvr@gnu.org> 50homepage: https://github.com/hvr/cryptohash-sha1 51bug-reports: https://github.com/hvr/cryptohash-sha1/issues 52category: Data, Cryptography 53build-type: Simple 54tested-with: GHC == 7.4.2 55 , GHC == 7.6.3 56 , GHC == 7.8.4 57 , GHC == 7.10.3 58 , GHC == 8.0.1 59 60extra-source-files: cbits/sha1.h 61 changelog.md 62 63source-repository head 64 type: git 65 location: https://github.com/hvr/cryptohash-sha1.git 66 67library 68 default-language: Haskell2010 69 build-depends: base >= 4.5 && < 4.15 70 , bytestring >= 0.9.2 && < 0.11 71 72 hs-source-dirs: src 73 exposed-modules: Crypto.Hash.SHA1 74 ghc-options: -Wall -fno-cse -O2 75 cc-options: -Wall -O3 76 c-sources: cbits/sha1.c 77 include-dirs: cbits 78 79test-suite test-sha1 80 default-language: Haskell2010 81 other-extensions: OverloadedStrings 82 type: exitcode-stdio-1.0 83 hs-source-dirs: src-tests 84 main-is: test-sha1.hs 85 build-depends: cryptohash-sha1 86 , base 87 , bytestring 88 89 , base16-bytestring >= 0.1.1 && < 0.2 90 , SHA >= 1.6.4 && < 1.7 91 , tasty == 0.11.* 92 , tasty-quickcheck == 0.8.* 93 , tasty-hunit == 0.9.* 94 95benchmark bench-sha1 96 default-language: Haskell2010 97 type: exitcode-stdio-1.0 98 main-is: bench-sha1.hs 99 hs-source-dirs: src-bench 100 build-depends: cryptohash-sha1 101 , base 102 , bytestring 103 , criterion == 1.1.* 104