[web-devel] [ANNOUNCE] First release of crypto-conduit
Felipe Almeida Lessa
felipe.lessa at gmail.com
Sat Jan 7 04:16:58 CET 2012
Hello!
I'm pleased to announce the first release of crypto-conduit [1]! The
crypto-api [2] 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 [3], 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.
Cheers, =)
[1] http://hackage.haskell.org/package/crypto-conduit
[2] http://hackage.haskell.org/package/crypto-api
[3] http://hackage.haskell.org/package/conduit
--
Felipe.
More information about the web-devel
mailing list