在Digest :: MD5.digest和Digest :: MD5.hexdigest之间转换

时间:2014-03-27 21:59:54

标签: ruby

如何将最初使用Digest::MD5.digest('abc')编码的哈希字符串转换为以下格式Digest::MD5.hexdigest('abc')的十六进制字符串?区别在于十六进制字符串可以安全地处理不同的编码问题(无论读入的编码如何)。

2 个答案:

答案 0 :(得分:2)

使用then unpack方法可以解决问题。 (Checkout the official documentation

Digest::MD5.digest('http://www.example.com').unpack('H*').first == Digest::MD5.hexdigest('http://www.example.com')

答案 1 :(得分:0)

试试这个

string = Digest::MD5.digest('abc')
Digest.hexencode(string)