在Haskell中计算文件的MD5摘要

在Haskell中计算文件的MD5摘要,haskell,md5,Haskell,Md5,使用Haskell,如何在不使用诸如md5sum等外部工具的情况下计算文件的MD5摘要 注意:由于我马上回答了这个问题,所以这个问题故意没有表现出任何努力。一个选项是使用这个包,例如,如果您想计算文件foo.txt的哈希值: import qualified Data.ByteString.Lazy as LB import Data.Digest.Pure.MD5 main :: IO () main = do fileContent <- LB.readFile "foo.t

使用Haskell,如何在不使用诸如
md5sum
等外部工具的情况下计算文件的MD5摘要

注意:由于我马上回答了这个问题,所以这个问题故意没有表现出任何努力。

一个选项是使用这个包,例如,如果您想计算文件
foo.txt的哈希值:

import qualified Data.ByteString.Lazy as LB
import Data.Digest.Pure.MD5

main :: IO ()
main = do
    fileContent <- LB.readFile "foo.txt"
    let md5Digest = md5 fileContent
    print md5Digest

另一个选项是使用,它基于C实现,还提供其他哈希算法,如SHA1:

import qualified Data.ByteString.Lazy as LB
import Crypto.Hash

md5 :: LB.ByteString -> Digest MD5
md5 = hashlazy

main :: IO ()
main = do
    fileContent <- LB.readFile "foo.txt"
    let md5Digest = md5 fileContent
    print $ digestToHexByteString md5Digest
import qualified Data.ByteString.Lazy as LB
导入加密散列
md5::LB.ByteString->Digest md5
md5=散列
main::IO()
main=do
文件内容
import qualified Data.ByteString.Lazy as LB
import Crypto.Hash

md5 :: LB.ByteString -> Digest MD5
md5 = hashlazy

main :: IO ()
main = do
    fileContent <- LB.readFile "foo.txt"
    let md5Digest = md5 fileContent
    print $ digestToHexByteString md5Digest