Алгоритм Ruby Hash - PullRequest
       12

Алгоритм Ruby Hash

0 голосов
/ 21 декабря 2011

Мне нужен алгоритм хеширования при использовании Ruby.В моей ситуации я сравниваю содержимое файла.Я использовал MD5, но он также проверяет имя файла (или, кажется, в любом случае).Есть ли алгоритм, который я могу легко реализовать, или мне придется написать его с нуля?

Ответы [ 3 ]

2 голосов
/ 21 декабря 2011

Я не уверен, почему вы думаете, что он сравнивает имя файла?

require "digest"
Digest::MD5.hexdigest(File.read('file1'))
=> "60b725f10c9c85c70d97880dfe8191b3"
Digest::MD5.hexdigest(File.read('file2'))
=> "60b725f10c9c85c70d97880dfe8191b3"

Что вы делали, чтобы получить разные контрольные суммы?

2 голосов
/ 21 декабря 2011

Использование FileUtils.compare_file.

require 'fileutils'
FileUtils.compare_file('somefile', 'somefile')  #=> true
0 голосов
/ 28 мая 2018

Это похоже на ответ выше, но использует SHA256, так как MD5 был разбит радужными таблицами, если я правильно помню

require 'digest'

puts "Hello!"
puts Digest::SHA256.hexdigest 'message'
puts Digest::SHA256.hexdigest 'message2'
...