Skip to content

Instantly share code, notes, and snippets.

@privatezero
Last active June 15, 2020 16:46
Show Gist options
  • Save privatezero/2925442af9a480842dd2c7b4125060e2 to your computer and use it in GitHub Desktop.
Save privatezero/2925442af9a480842dd2c7b4125060e2 to your computer and use it in GitHub Desktop.
Hash Check for Jacobs Waves
require 'digest'
waves = Dir["#{ARGV[0]/*.wav}"]
confirmed = []
failed = []
missing = []
waves.each do |wave|
puts "Verifying #{wave}"
md5_file = File.dirname(wave) + '/' + File.basename(wave,".wav") + '.md5'
if File.exist?(md5_file)
md5_stored = File.readlines(md5_file)[1].split('-')[0].strip
md5_generated = hash = Digest::MD5::new
md5_generated.update(File.read(wave))
if md5_stored == md5_generated.to_s
puts "Confirmed #{wave}"
confirmed << wave
else
puts "Failed #{wave}"
failed << wave
end
else
puts "Missing md5 for #{wave}"
missing << wave
end
end
if waves.length == confirmed.length
puts "All Waves Confirmed"
else
puts "Missing"
puts missing
puts "Failed"
puts failed
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment