2

谁能给我一个示例代码,让用户输入两次密码并比较它们并打印文本是否正确,例如我们创建新用户时。提前致谢...

4

3 回答 3

2

perldoc -f crypt

$pwd = (getpwuid($<))[1];

system "stty -echo";
print "Password: ";
chomp($word = <STDIN>);
print "\n";
system "stty echo";

if (crypt($word, $pwd) ne $pwd) {
    die "Sorry...\n";
} else {
    print "ok\n";
}

修改以满足您的需求。

于 2010-12-10T04:58:12.137 回答
0

这是基于 ephemient 提示的答案。我不需要删除的第一行,如果 ne 假设为 eq,则可能意味着相等:) 它看起来有效。

system "stty -echo";
print "Password: ";
chomp($word = <STDIN>);
print "Password again: ";
chomp($pwd = <STDIN>);
print "\n";
system "stty echo";

if (crypt($word, $pwd) eq $pwd) {
    die "Sorry...\n";
} else {
    print "ok\n";
}
于 2010-12-10T05:40:46.080 回答
0

地穴是一条红鲱鱼。

system "stty -echo";
print "Password: ";
chomp(my $password = <STDIN>);
print "\nPassword again: ";
chomp(my $check_again = <STDIN>);
print "\n";
system "stty echo";

if ($password ne $check_again) {
    die "Sorry...\n";
} else {
    print "ok\n";
}
于 2010-12-10T06:36:09.570 回答