raaz-0.1.1: The raaz cryptographic library.

Safe HaskellNone
LanguageHaskell2010

Raaz.Hash.Sha1

Contents

Description

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

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.

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.

sha1File :: FilePath -> IO SHA1 Source #

Compute the sha1 hash of a file.

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.