Crypto-4.2.5.1: Collects together existing Haskell cryptographic functions into a package

Copyright | (c) Russell O'Connor 2006
License | BSD-style (see the file ReadMe.tex)
Safe Haskell | Safe
Language | Haskell98

Data.Digest.SHA2

Description

Implements SHA-256, SHA-384, SHA-512, and SHA-224 as defined in FIPS 180-2 http://csrc.nist.gov/publications/fips/fips180-2/fips180-2withchangenotice.pdf.

Synopsis

- sha256 :: (Bits a, Integral a) => [a] -> Hash256
- sha256Ascii :: String -> Hash256
- type Hash256 = Hash8 Word32
- sha512 :: (Bits a, Integral a) => [a] -> Hash512
- sha512Ascii :: String -> Hash512
- type Hash512 = Hash8 Word64
- sha384 :: (Bits a, Integral a) => [a] -> Hash384
- sha384Ascii :: String -> Hash384
- data Hash384
- sha224 :: (Bits a, Integral a) => [a] -> Hash224
- sha224Ascii :: String -> Hash224
- data Hash224
- toOctets :: Hash h => h -> [Word8]

# Documentation

sha256 :: (Bits a, Integral a) => [a] -> Hash256 Source #

`sha256` currently requires that the bitSize of `a` divide 32

sha256Ascii :: String -> Hash256 Source #

`shaXXXAscii` assumes that all characters of the strings are ISO-latin-1 characters. ie. each characters fits in one octet.

type Hash256 = Hash8 Word32 Source #

sha512 :: (Bits a, Integral a) => [a] -> Hash512 Source #

`sha384` currently requires that the bitSize of `a` divide 64

sha512Ascii :: String -> Hash512 Source #

type Hash512 = Hash8 Word64 Source #

sha384 :: (Bits a, Integral a) => [a] -> Hash384 Source #

`sha384` currently requires that the bitSize of `a` divide 64

sha384Ascii :: String -> Hash384 Source #

data Hash384 Source #

Instances

Eq Hash384 Source # |
Methods (==) :: Hash384 -> Hash384 -> Bool # (/=) :: Hash384 -> Hash384 -> Bool #
Ord Hash384 Source # |
Methods compare :: Hash384 -> Hash384 -> Ordering # (<) :: Hash384 -> Hash384 -> Bool # (<=) :: Hash384 -> Hash384 -> Bool # (>) :: Hash384 -> Hash384 -> Bool # (>=) :: Hash384 -> Hash384 -> Bool # max :: Hash384 -> Hash384 -> Hash384 # min :: Hash384 -> Hash384 -> Hash384 #
Show Hash384 Source # |
Methods showsPrec :: Int -> Hash384 -> ShowS # show :: Hash384 -> String # showList :: [Hash384] -> ShowS #

sha224 :: (Bits a, Integral a) => [a] -> Hash224 Source #

`sha224` currently requires that the bitSize of `a` divide 32

sha224Ascii :: String -> Hash224 Source #

data Hash224 Source #

Instances

Eq Hash224 Source # |
Methods (==) :: Hash224 -> Hash224 -> Bool # (/=) :: Hash224 -> Hash224 -> Bool #
Ord Hash224 Source # |
Methods compare :: Hash224 -> Hash224 -> Ordering # (<) :: Hash224 -> Hash224 -> Bool # (<=) :: Hash224 -> Hash224 -> Bool # (>) :: Hash224 -> Hash224 -> Bool # (>=) :: Hash224 -> Hash224 -> Bool # max :: Hash224 -> Hash224 -> Hash224 # min :: Hash224 -> Hash224 -> Hash224 #
Show Hash224 Source # |
Methods showsPrec :: Int -> Hash224 -> ShowS # show :: Hash224 -> String # showList :: [Hash224] -> ShowS #

toOctets :: Hash h => h -> [Word8] Source #