ブルートフォース的な

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

実は抜けがありまくり。微妙。