28 lines
651 B
Crystal
28 lines
651 B
Crystal
require "digest/sha256"
|
|
require "wait_group"
|
|
|
|
hashes = Set{"1115dd800feaacefdf481f1f9070374a2a81e27880f187396db67958b207cbad",
|
|
"3a7bd3e2360a3d29eea436fcfb7e44c735d117c42d1c1835420b6b9942dd4f1b",
|
|
"74e1bb62f8dabb8125a58852b63bdf6eaef667cb56ac7f7cdba6d7305c50a22f"}
|
|
mutex = Mutex.new
|
|
wg = WaitGroup.new
|
|
|
|
('a'..'z').each do |initial|
|
|
wg.add
|
|
spawn do
|
|
pwd = initial + "aaaa"
|
|
while pwd[0] == initial
|
|
hash = Digest::SHA256.hexdigest pwd
|
|
if hash.in? hashes
|
|
mutex.synchronize do
|
|
puts "#{pwd}: #{hash}"
|
|
end
|
|
end
|
|
pwd = pwd.succ
|
|
end
|
|
ensure
|
|
wg.done
|
|
end
|
|
end
|
|
|
|
wg.wait
|