我一直在尝试在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. ?
谢谢!
答案 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").