誰でもパスワードを2回入力して比較し、新しいユーザーを作成するときのように、正しいかどうかを確認してテキストを印刷するサンプルコードを提供できます。 perldoc -f cryptから事前のおかげで...perlパスワード確認
答えて
、
$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";
}
は、ニーズに合わせて変更します。ここ
これはいいですし、私は前に見たと思います。私は変更しようとします。私は初心者です。 – user403295
これは良くありません。これは、以前に暗号化されたパスワードに対してパスワードをチェックするコードです.2つのエントリが等しいかどうかを確認するのではありません。 – ysth
はい、コンソールでパスワードを読み取る方法を示しています帰属するスニペット全体OPを手に入れるのに十分だったようです。 – ephemient
は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";
}
これは決して「申し訳ありません...」エラーを出すことはありません。これにはcrypt()を使用しないでください。 – ysth
陰窩は赤いニシンです。
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";
}
これはOPが出てきたこととほとんど同じです。 – ephemient
@ephemient:それが動作することを除いて... – ysth
答えに感謝します。私は必要に応じてエフェメリエントのサンプルを修正しました。答えは以下の通りです。それ以外の場合はあなたと非常によく似ています。 $ passwordと$ check_againの間に "ne"を使用すると、パスワードは同じですが "Sorry"部分に落ちます。だから私は 'ne'の代わりに 'eq'を使いました。そして、それは動作するように見えます。私もあなたのものを試してみるだろう。また、あなたの答えをチェックします..ありがとうございました。再度...アドレス... – user403295
どのモジュールを使用していますか? – Hanmyo
ユーザ入力パスワードを後で確認できるようにパスワードを保存する必要がある場合は、[SHA- 2](http://en.wikipedia.org/wiki/SHA-2)。 –
@hanmyo - 私は初心者です。これは私の科目の1つのワークショップに必要です。私はjavaとphpでコーディングすることを知っていますが、実際にモジュールを使う方法はわかりません。 – user403295