entropy-0.3.7: A platform independent entropy source

MaintainerThomas.DuBuisson@gmail.com
Stabilitybeta
Portabilityportable
Safe HaskellNone
LanguageHaskell2010

System.Entropy

Description

Obtain entropy from system sources or x86 RDRAND when available.

Currently supporting:

  • Windows via CryptoAPI
  • *nix systems via /dev/urandom
  • Includes QNX
  • Xen (only when RDRAND is available)

Synopsis

Documentation

getEntropy :: Int -> IO ByteString

Get a specific number of bytes of cryptographically secure random data using the system-specific facilities.

Use RDRAND if available and XOR with '/dev/urandom' on *nix and CryptAPI when on Windows. In short, this entropy is considered cryptographically secure but not true entropy.

data CryptHandle

Handle for manual resource mangement

hGetEntropy :: CryptHandle -> Int -> IO ByteString

Read random data from a CryptHandle