パスワードメーカー作ってみた
いつものPHPではなくてコマンドラインで戯れているPerlで書いてみました、コマンドライン系だとPerlの方が好きになってきました。
でも、Web系はPHPかなぁw
とりあえず、コードです
#!/usr/bin/perl#代入
$pass_leng = $ARGV[0] ;#パスの桁数
$write_file = open(LOG_FILE,">>pass_write.txt") ;#リミッター
if($pass_leng gt 80){
$pass_leng = 80 ;
}
#最初の方の表示
print "Pass Word Maker\n" ;
print "パスワードの桁数:$pass_leng桁\n" ;#区切る
for($i=0;$i<10;$i++){
$line .= "―" ;
}
print "$line\n" ;#キーテーブル
@key_table = (
"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",1,2,3,4,5,6,7,8,
9,0,"-","_"
) ;#パスワード作成
for($n=0;$n<$pass_leng;$n++){
$pass .= $key_table[rand($#key_table)] ;
}#画面に出力
print $pass."\n" ;#ファイルに出力
print LOG_FILE $pass."\n" ;print "$line\n" ;
ファイル構成
pass_makes.pl パーミッション 700
記録用テキストファイル パーミッション600
記録用のファイル名はデフォルトで「pass_write.txt」となっていますが、変更したい場合はプログラム内の「pass_write.txt」の部分を書き換えてください。
実行するときは
perl pass_makes.pl 80(桁数)
とやればパスワードを出力してくれます、一応リミッターを駈けて80桁以上になる場合は80になるように調節されてます。
自分でその部分をコメントアウトすれば90,000桁だろうと行けるけど…CPUの問題もあるのでお勧めしません、間違っても公開されているサーバでやらないように!
やったらサーバが落ちるかもしれませんのでご忠告を申し上げます、間違っても公開されているサーバでやらないように!
大事なことなので2回言いました、本当に大事ですから。