在erlang中计算MD5哈希值

时间:2016-09-19 18:10:40

标签: hash cryptography erlang hex md5

我一直在尝试在erlang中编写md5-digest算法,并且不知道如何实现这一步骤,

1. creating 16 octet MD5 hash of X where X is a string.

有人可以帮忙吗?

这是否意味着:

Create a 16 byte(32-hex digits) of base - 8(octet) which is md5 of X. ?

谢谢!

2 个答案:

答案 0 :(得分:4)

使用crypto模块和hash函数,可以计算MD5,这是一个16字节的摘要算法。

  

crypto:hash(Type,Data) - >消化

Type = md5

Data = iodata()

Digest = binary()

它获取md5个原子作为类型,iodata()作为数据,并返回binary()作为摘要。以下代码段是一个简单示例:

crypto:hash(md5, "put-your-string-here").

查看crypto documentation了解详情。

同样,为了将返回的二进制值转换为十六进制字符串,标准库中没有函数,但它就像在this thread中很好地解释的几行代码一样简单。

答案 1 :(得分:0)

来自epop软件包的md5 module计算md5并将其作为十六进制字符串返回。

epop_md5:string("put-your-string-here").