トップ 差分 一覧 Farm ソース 検索 ヘルプ RSS ログイン

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);

残りは、比較と結果表示で、めんどうになったのでここまでとする。

test.cgi test.html

投稿者
サマリ
カテゴリ
優先度
状態
内容

Today: 1 / Yesterday: 0