0
我用Ruby寫了這個小測試腳本(在MacOS):Ruby和SHA256 - MacOS和Windows之間的區別?
#!/usr/bin/ruby
require 'digest/sha2'
def calc_sha(file)
# calc hash
hash = Digest::SHA2.new
File.open(file, 'r') do |fh|
fh.each_line do |l|
hash << l
end
end
hash.to_s
end
puts calc_sha('dont-panic.jpeg')
puts '40075d8441ab6a9abeceb7039552704320f471667b8f9ac3c18b9b5b0a1fee7e'
puts calc_sha('dont-panic.jpeg') == '40075d8441ab6a9abeceb7039552704320f471667b8f9ac3c18b9b5b0a1fee7e'
其輸出(在MacOS):
~/shatest $ ./sha.rb
40075d8441ab6a9abeceb7039552704320f471667b8f9ac3c18b9b5b0a1fee7e
40075d8441ab6a9abeceb7039552704320f471667b8f9ac3c18b9b5b0a1fee7e
true
然後我在Windows XP上運行完全相同的腳本:
F:\shatest>ruby sha.rb
9c787b71392551238b24915c888dbd44f4ff465c8e8aadca7af3bb6aaf66a3ca
40075d8441ab6a9abeceb7039552704320f471667b8f9ac3c18b9b5b0a1fee7e
false
任何人都可以告訴我這是什麼問題嗎?
thx!解決了這個問題。 – DiegoFrings 2010-11-15 10:03:34
我現在在使用:Digest :: SHA256.file('dont-panic.jpeg')。hexdigest ...看起來像是一種更好的二進制文件方法 – DiegoFrings 2010-11-15 10:04:38