为了在 Unix 系统上创建用户,我需要生成一个用户名和密码对,最好是一对难以猜测的(为了安全)。有谁知道使用 Perl 做这件事的好方法吗?
更新
所以我把下面的一些答案结合起来,做了一些我自己的东西,这就是我最终得到的。现在这些生成的用户名和密码有点神秘,不容易记住,这正是我想要的。但是,如果您正在寻找更具可读性的生成,则必须根据自己的喜好对其进行调整。
use String::Random qw(random_regex);
use Data::Random::WordList;
my $user = random_regex('\w{3,6}\d{3,6}\w{3,7}') . time . int(rand(1000));
my $wl = new Data::Random::WordList( wordlist => '/usr/share/dict/words' );
my @rand_words = $wl->get_words(int(rand(3)) + 3);
$wl->close();
my $pass = join " ", @rand_words;
$pass .= ' ' . int(rand(1000)) . time;
my $crypt_pass = crypt($pass,'salt');
system "useradd -p $crypt_pass $user";
#you can now login with $user and $pass on your system