将摘要字符串转换为字节字符串

时间:2014-06-30 16:44:48

标签: ruby string hash

假设我将文件名哈希

require 'digest'
hashed = Digest::SHA256.digest("test")
path = "/myFile/%s" %hashed
p path

这会给我一条等于

的路径
/myFile/\x9F\x86\xD0\x81\x88L}e\x9A/\xEA\xA0\xC5Z\xD0\x15\xA3\xBFO\e+\v\x82,\xD1]l\x15\xB0\xF0\n\b"

这不是我想要的。相反,我希望字节字面上表示为字符串。 "test"的哈希是9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08,我想要的路径是

/myFile/9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08

我如何实现这一目标?

1 个答案:

答案 0 :(得分:1)

您在模块中寻找的方法是hexdigest - 请参阅that page顶部的示例。

所以你的代码应该是:

require 'digest'
hashed = Digest::SHA256.hexdigest("test")
path = "/myFile/%s" %hashed