#! /usr/local/bin/perl -w # ひらがなトリッパー使用方法 # # このひらがなトリッパーは、キーが平仮名のみのトリップを検索するPerlスクリプトです。 # # ActivePerl等をインストールされている必要があります。 # http://www.activestate.com/Products/Download/Get.plex?id=ActivePerl # # このテキストをhiragana.plという名前で保存し、コマンドプロンプトで # cd [hiragana.plのあるフォルダのパス] # としてから # hiragana.pl [キーのひらがなの文字数] [検索する文字列] # というふうにして使ってください。 # # .が1つ出るごとに10万回検索しています。 if(!$ARGV[0]){ print "キーの文字数を入力してください。"; exit; } if($ARGV[0] !~ /\d/ || $ARGV[0] > 4){ print "キーの文字数が不正です。"; exit; } if(!$ARGV[1]){ print "検索する文字列を入力してください。"; exit; } &jikan; $time = 0; print " $time -> "; while(1){ $keta = $ARGV[0]; $key =''; while($keta > 0){ $key .= '%130%'; $key2 = int(rand 83); $key2 = $key2 + 159; $key .= $key2; $keta = $keta - 1; } $key =~ s/%(\d+)/pack("C", $1)/eg; $salt = substr($key."H.", 1, 2); $salt =~ s/[^\.-z]/\./go; $salt =~ tr/:;<=>?@[\\]^_`/ABCDEFGabcdef/; $trip = substr(crypt($key, $salt),-10); $time++; if($time =~ /00000$/){ print '.'; } if($time =~ /000000$/){ print ' '; } if($time =~ /5000000$/){ print "\n $time -> "; } if($trip =~ /$ARGV[1]/){ last; } } &jikan; print "#$key : ◆$trip"; exit; sub jikan{ ($sec, $min, $hour, $day, $mon, $year) = localtime time; $year = $year + 1900; $mon++; print "\n$year年$mon月$day日 $hour時$min分$sec秒\n"; }