5

実行中のシステムに、一部のデータを含む多数のユーザー リストを自動的にインポートする必要があります。初期パスワードについては、ランダムな英数字キー (8 桁) でリスト (現時点では csv 形式) を更新したいと考えています。

特別なルーチン (csv ファイルが必要) で挿入すると、パスワード (この場合は英数字キー) が md5 ハッシュとして保存されます。

つまり、ランダムな英数字キーを生成します。

H2A5D39A -> MD5: 1642fccf791f15d137cf31282af79752

このようにして、認証されたユーザーが初期パスワード (英数字キー) を要求できるリストを作成したいと考えています。

「秘密の」初期パスワードについてもっと良いアイデアはありますか?

Perl で英数字キーをどのように作成しますか?

PS: 私たちによってプログラムされていない「実行中のシステム」では、英数字のパスワードのみが許可されます (特殊文字は使用できません...)。

4

5 に答える 5

15

Perl で英数字キーをどのように作成しますか?

join'', map +(0..9,'a'..'z','A'..'Z')[rand(10+26*2)], 1..8

于 2009-04-29T08:06:40.287 に答える
6

おそらくpwgenを使用するでしょう。簡単にカスタマイズでき、あいまいな文字 (I、l、1、O、0 など) を使用しないように切り替えるスイッチがあるため、優れています。

例えば:

=> pwgen -c -n -B 8 50
shuFak9o peiCh3Oo ohPieng9 Vohh7zuu os3Theep aeV9nuo9 aexeik4B aeChoh9s
uth3eePu baePhu3o aiS3pahn iPie4itu We9zuphi xie3Chi3 yeiRoo7c fai3ITai
aCh9ohco Echuab7v Fu9ahCho Aevae4no Peethai9 AiJio3Pa aeNge9Fo baePh7Uy
Nai7shei eeMoh9en Zeibai4n eGe7yuch Jaek7nai aeZah7sh Chei4ua4 shoo9oG9
iu7Wohho aep7De4U Fong9fo3 AhneeP7U oxae7Yoh ahF4eim3 fahm9Aiw naoNg4ie
Chie4xua jix3Uvot aChei7ai diey4Shi Yur7ee4j eeJeo9ee Bou3ahmu kaeb4Cah
Eh4Eemae oD4phoo9
于 2009-04-29T09:58:39.677 に答える
1

Anonymousの答えは非常に良いですが、いくつかのルール(少なくとも1つの大文字、1つの小文字、1つの数字など)に準拠するランダムな文字列が必要な場合は、String::Randomを調べることをお勧めします。

于 2009-04-29T14:21:58.340 に答える
1

考慮すべき別のモジュールはData::Randomです

于 2009-04-29T17:57:07.357 に答える
1

ランダムなパスワードを生成するために使用できる CPAN の 12 個のモジュールのレビューを完了しました。

http://blogs.perl.org/users/neilb/2011/08/random-password-generation.html

要するに、発音可能なパスワードが必要な場合はCrypt::YAPassGenを見てください。それ以外の場合はApp::Genpassを使用してください。

App::Genpass は紛らわしい文字を回避し、Data::Random や String::Random よりも優れた制御 (およびデフォルト) を提供します

于 2011-08-08T16:01:56.847 に答える