ブルートフォース的な
password = ARGV.shift CHUNK = %w( 0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z - = , . ) def f(val, div) return CHUNK[val] if val < div shou = val / div amari = val - shou * div return f(shou, div) + CHUNK[amari] end count = -1 loop do pass_str = f(count+=1, CHUNK.size) print count, pass_str, "\r" break if password == pass_str.crypt(password[0..1]) end
実は抜けがありまくり。微妙。