
17 Jan
2011
17 Jan
'11
4:39 a.m.
I wrote this little clip, and haven't been able to figure out why the L.ByteString is different type than Data.ByteString.Internal.ByteString, or if I am just doing everything wrong here. import System.FilePath import System.Environment import qualified Data.ByteString.Lazy as L import qualified Crypto.Hash.SHA1 as SH import Data.Hex (hex) hashFile :: FilePath -> IO L.ByteString hashFile f = do content <- L.readFile f let hasher = SH.init bhsh = SH.update hasher content return (hex (SH.finalize bhsh)) I really just want to get the digest of a file as a [Char], but then of course, SH.update is not very happy about the type I am passing to it either. Can't wait till this becomes easy! Roderick