2014-06-30 48 views
0

想我湊一個文件名作爲這樣轉換消化串到字節串

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

您在模塊中查找的方法是hexdigest - 請參閱that page頂部的示例。

所以,你的代碼應該閱讀:

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