[web-devel] [ANNOUNCE] First release of crypto-conduit
Felipe Almeida Lessa
felipe.lessa at gmail.com
Sat Jan 7 04:16:58 CET 2012
I'm pleased to announce the first release of crypto-conduit ! The
crypto-api  package provides APIs for many cryptographic
operations, such as cryptographic hashes and block ciphers. This new
crypto-conduit package allows you to use many of these operations with
conduits , giving you safe I/O using constant memory and no leaks.
As an example, here's how you could get the SHA1 hash a file:
import Crypto.Conduit -- from crypto-conduit
import Crypto.Hash.SHA1 (SHA1) -- from cryptohash
import Data.Conduit -- from conduit
import Data.Conduit.Binary (sourceFile) -- from conduit
main = do
hash <- runResourceT $ sourceFile "my-file" $$ sinkHash
print (hash :: SHA1)
The code snippet above, despite having only "sourceFile ... $$
sinkHash" on its core, guarantees that the file handle is not kept
open and uses a constant amount of memory. Sweet!
Please break this package! Although it comes with a test suite, it
has just seen the light of the day.
More information about the web-devel