Diary/2012-3-22
Perlで暗号発生をやてみる[道楽]
まず二つのキーワードを発生スクリプトへ送る導入ページは楽したいので、CGIでなくhtmlで作っておくことにした。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html><head> <meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-2022-JP"> <title>Own001:暗号発生テスト</title> </head><body> <h1 class=title>Own001:暗号発生テスト</h1> <FORM ACTION="./test.cgi" enctype="multipart/form-data" method="post"> 発生pass: <INPUT TYPE="text" NAME="pass9" value="hogehage"><BR> 比較Pass: <INPUT TYPE="text" NAME="pass0" value="hikaku"><BR> <br/> <INPUT TYPE="reset" VALUE="やんぴ"> <INPUT TYPE="submit" NAME="all" VALUE="実行"> </form></body></html>
まず主役の暗号発生と照合用暗号発生のサブを準備。
#パスワードのエンコ(単独) sub pass_e { my($pass) = @_; my @moji = ('a'..'z','A'..'Z','0'..'9'); srand; my $key0 = int(rand(64)); my $key1 = int(rand(64)); my $key2 = $moji[$key0] . $moji[$key1]; return crypt($pass,$key2); } #パスワードのエンコ(再現) sub pass_c { my($pass,$pass9) = @_; return crypt($pass, $pass9); }
次にパラメータの受け取りなど
#!/usr/bin/perl use CGI qw(:standard); $pass9 = param('pass9'); $pass0 = param('pass0'); my $ret1 = &pass_e($pass9); my $ret2 = &pass_c($pass0,$ret1);
残りは、比較と結果表示で、めんどうになったのでここまでとする。
☆
Today: 1 / Yesterday: 0