#!/usr/bin/ruby # # Generate a lookup table for figlet-based captchas # The output format is "token MD5 # The MD5 is computed of the full output of figlet, including empty lines. # # Usage: figletcha.rb starttok endtok figletopts # Example: figletcha.rb AAAAAA ZZZZZZ -k -f big require "digest/md5" token = "#{ARGV[0]}" end_token = ARGV[1]; figletopts = ARGV[2..-1].join(" ") while true do data = %x{figlet #{figletopts} #{token}} data.gsub!(/(^|\n) *(\n|$)/s, ""); puts "#{token} #{Digest::MD5.hexdigest(data)}" break if (token == end_token) token.succ! end