Haskell摘要库

时间:2013-06-13 04:12:32

标签: haskell

我需要做一些涉及存储密码摘要的用户身份验证。 我选择了sha256,但是md5可以做到这一点很好,因为它只是一个学习项目而且安全性不是很大。

我的问题是关于数百个不同的加密和散列库,并保持理智选择正确的。

我经历过hackage:有些库快但不“纯”,有些“纯粹但不快......等等还有其他优点和缺点。”

你们会用什么来进行sha256密码哈希?

例如,我找到了Crypto.Hash.SHA256和Data.Digest.Pure.SHA。 哪一个更优选,有什么区别?

谢谢。

1 个答案:

答案 0 :(得分:3)

来自Adam的Data.Digest.Pure.SHA包的

SHA仅用Haskell编写(因此模块名称中的'Pure'),但不是那么快iirc。 Crypto.Hash.SHA256来自Vincent的cipherhash包,是对快速C实现的绑定。

来自cipherhash的C绑定没有任何问题 - 它不是不纯的,它不会破坏参照透明度,只是我在构建pureMD5时选择了一个错误的模块名称并且设置了一个先例。