/var/log/masayoshi/masayoshi.life.log

とりあえず、書きたいこと書くだけ。

パスワードメーカー作ってみた



いつもの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回言いました、本当に大事ですから。