Perlについての質問箱 44箱目

このエントリーをはてなブックマークに追加
430デフォルトの名無しさん
パスワードノ暗号化、解読のプログラムで、
下記の $1って何が入っているのでしょうか? 
$crptkey = 3になる条件が理解できないので困ってます。

----------------
#
# パスワード暗号化
#
sub cry_ {
$time = time;
($p1, $p2) = unpack("C2", $time);
$wk = $time / (60*60*24*7) + $p1 + $p2 - 8;
@saltset = ('a'..'z','A'..'Z','0'..'9','.','/');
$nsalt = $saltset[$wk % 64] . $saltset[$time % 64];
$epasswd = crypt($FORM{'delkey'}, $nsalt);
}
#
# パスワード解読
#
sub cryma_ {
if ($de =~ /^\$1\$/) { $crptkey = 3; }  #<---- $1 って何??
else { $crptkey = 0; }
$ok = "n";
if (crypt($FORM{'delkey'}, substr($de,$crptkey,2)) eq $de) {
$ok = "y";
}
}