hashing-0.1.0.1: A pure haskell library implements several hash algorithms.

Safe HaskellNone
LanguageHaskell2010

Crypto.Hash

Description

pure hash interface, supported hash algorithms:

  • SHA1
  • SHA224/SHA256
  • SHA384/SHA512
  • MD5
  • Whirlpool

NOTE: performance is just about 1 / 5 - 1 / 15 of C/ASM implementations.

Synopsis

Documentation

class HashAlgorithm a where #

Hash algorithm interface

provides classic init/update/final API. however, user should call higher level API such as hash or hashLazy.

Instances
HashAlgorithm MD5 # 
Instance details

Defined in Crypto.Hash.MD5

HashAlgorithm SHA1 # 
Instance details

Defined in Crypto.Hash.SHA1

HashAlgorithm SHA224 # 
Instance details

Defined in Crypto.Hash.SHA256

HashAlgorithm SHA256 # 
Instance details

Defined in Crypto.Hash.SHA256

HashAlgorithm SHA384 # 
Instance details

Defined in Crypto.Hash.SHA512

HashAlgorithm SHA512 # 
Instance details

Defined in Crypto.Hash.SHA512

HashAlgorithm Whirlpool # 
Instance details

Defined in Crypto.Hash.Whirlpool

data SHA1 #

Instances
Eq SHA1 # 
Instance details

Defined in Crypto.Hash.SHA1

Methods

(==) :: SHA1 -> SHA1 -> Bool #

(/=) :: SHA1 -> SHA1 -> Bool #

Show SHA1 # 
Instance details

Defined in Crypto.Hash.SHA1

Methods

showsPrec :: Int -> SHA1 -> ShowS #

show :: SHA1 -> String #

showList :: [SHA1] -> ShowS #

HashAlgorithm SHA1 # 
Instance details

Defined in Crypto.Hash.SHA1

data SHA224 #

Instances
Eq SHA224 # 
Instance details

Defined in Crypto.Hash.SHA256

Methods

(==) :: SHA224 -> SHA224 -> Bool #

(/=) :: SHA224 -> SHA224 -> Bool #

Show SHA224 # 
Instance details

Defined in Crypto.Hash.SHA256

HashAlgorithm SHA224 # 
Instance details

Defined in Crypto.Hash.SHA256

data SHA256 #

Instances
Eq SHA256 # 
Instance details

Defined in Crypto.Hash.SHA256

Methods

(==) :: SHA256 -> SHA256 -> Bool #

(/=) :: SHA256 -> SHA256 -> Bool #

Show SHA256 # 
Instance details

Defined in Crypto.Hash.SHA256

HashAlgorithm SHA256 # 
Instance details

Defined in Crypto.Hash.SHA256

data SHA384 #

Instances
Eq SHA384 # 
Instance details

Defined in Crypto.Hash.SHA512

Methods

(==) :: SHA384 -> SHA384 -> Bool #

(/=) :: SHA384 -> SHA384 -> Bool #

Show SHA384 # 
Instance details

Defined in Crypto.Hash.SHA512

HashAlgorithm SHA384 # 
Instance details

Defined in Crypto.Hash.SHA512

data SHA512 #

Instances
Eq SHA512 # 
Instance details

Defined in Crypto.Hash.SHA512

Methods

(==) :: SHA512 -> SHA512 -> Bool #

(/=) :: SHA512 -> SHA512 -> Bool #

Show SHA512 # 
Instance details

Defined in Crypto.Hash.SHA512

HashAlgorithm SHA512 # 
Instance details

Defined in Crypto.Hash.SHA512

data MD5 #

Instances
Eq MD5 # 
Instance details

Defined in Crypto.Hash.MD5

Methods

(==) :: MD5 -> MD5 -> Bool #

(/=) :: MD5 -> MD5 -> Bool #

Show MD5 # 
Instance details

Defined in Crypto.Hash.MD5

Methods

showsPrec :: Int -> MD5 -> ShowS #

show :: MD5 -> String #

showList :: [MD5] -> ShowS #

HashAlgorithm MD5 # 
Instance details

Defined in Crypto.Hash.MD5

hash :: HashAlgorithm a => ByteString -> a #

Hash strict byte string

hashLazy :: HashAlgorithm a => ByteString -> a #

Hash lazy byte string