Safe Haskell | None |
---|---|
Language | Haskell2010 |
Deprecated: SHA1 is broken. This module is here only for transition.
This module exposes combinators to compute the SHA1 hash and the associated HMAC for some common types.
Synopsis
- data SHA1
- sha1 :: PureByteSource src => src -> SHA1
- sha1File :: FilePath -> IO SHA1
- sha1Source :: ByteSource src => src -> IO SHA1
- hmacSha1 :: PureByteSource src => Key (HMAC SHA1) -> src -> HMAC SHA1
- hmacSha1File :: Key (HMAC SHA1) -> FilePath -> IO (HMAC SHA1)
- hmacSha1Source :: ByteSource src => Key (HMAC SHA1) -> src -> IO (HMAC SHA1)
The broken SHA1 cryptographic hash.
We already have a collision for SHA1: https://security.googleblog.com/2017/02/announcing-first-sha1-collision.html
While it does not yet rule out SHA1 for some specific tasks, there is no reason for its continual usage. This module is present only to facilitate the transition to a better hash. Use it assuming no security guarantees. Raaz will not try to optimise the implementations given here and will remove this module at some point of time. So do not rely on this for your software.
The cryptographic hash SHA1.
Instances
Eq SHA1 Source # | |
Show SHA1 Source # | |
IsString SHA1 Source # | |
Defined in Raaz.Hash.Sha1.Internal fromString :: String -> SHA1 # | |
Storable SHA1 Source # | |
Defined in Raaz.Hash.Sha1.Internal | |
Equality SHA1 Source # | |
EndianStore SHA1 Source # | |
Encodable SHA1 Source # | |
Defined in Raaz.Hash.Sha1.Internal toByteString :: SHA1 -> ByteString Source # fromByteString :: ByteString -> Maybe SHA1 Source # | |
Recommendation SHA1 Source # | Recommended implementation for SHA1. |
Defined in Raaz.Hash.Sha1.Recommendation recommended :: SHA1 -> Implementation SHA1 Source # | |
Primitive SHA1 Source # | |
Hash SHA1 Source # | |
Defined in Raaz.Hash.Sha1.Internal | |
Initialisable (HashMemory SHA1) () Source # | |
Defined in Raaz.Hash.Sha1.Internal initialise :: () -> MT (HashMemory SHA1) () Source # | |
type Implementation SHA1 Source # | |
Defined in Raaz.Hash.Sha1.Internal |
sha1 :: PureByteSource src => src -> SHA1 Source #
Compute the sha1 hash of an instance of PureByteSource
. Use
this for computing the sha1 hash of a strict or lazy byte string.
sha1Source :: ByteSource src => src -> IO SHA1 Source #
Compute the sha1 hash of a general byte source.
HMAC computation using SHA1
hmacSha1 :: PureByteSource src => Key (HMAC SHA1) -> src -> HMAC SHA1 Source #
Compute the message authentication code using hmac-sha1.
hmacSha1File :: Key (HMAC SHA1) -> FilePath -> IO (HMAC SHA1) Source #
Compute the message authentication code for a file.
hmacSha1Source :: ByteSource src => Key (HMAC SHA1) -> src -> IO (HMAC SHA1) Source #
Compute the message authetication code for a generic byte source.