【发布时间】:2011-04-27 18:50:30
【问题描述】:
这是我见过的最奇怪的之一。我正在维护一些生成摘要的遗留代码:
require 'digest/sha1'
def encrypt(password, salt)
Digest::SHA2.hexdigest("--#{salt}--#{password}--")
end
我用“hello”和“world”作为参数调用该方法,我得到了这个:
15ea8ac62708f3810b720b25dd6febe9d0ddc1ed
但如果我直接这样做:
Digest::SHA2.hexdigest("--world--hello--")
我明白了:
c95b3d8968d8044c42ff650ade81315ab9adf120e2b62a637e64fa362cb828dd
对不起,我的法语,但是WTF?!
我应该寻找Digest::SHA2 的某种设置吗?什么可能引发这种差异?
【问题讨论】:
-
我刚刚尝试了
Digest::SHA1.hexdigest,结果与上面的encrypt方法相同......现在问题是为什么!?
标签: ruby