The String::MkPasswd模块
String::MkPasswd模块提供了一个简单的API,用来随机生成不可拼读的密码.
在编写代码之前,你必须确定密码的一些重要属性。String::MkPasswd让你可以控制:
密码的长度;
数字的数量;
大写和小写字符的数量;
特殊标点符号的数量;
在大多数情况下,你希望密码有8到15个字符长,而且希望一般的字符中间还包含相当的数字和特殊字符。要记住的是,密码越随机,它就越难被破解!
一旦确定密码需要是什么样的,你就可以调用String::MkPasswd模块的mkpasswd()函数来生成密码:
#!/bin/perl
# import module
use String::MkPasswdqw(mkpasswd);
# print custom password
print mkpasswd(-length => 13, -minnum => 4, -minlower => 4, -minupper => 2, -minspecial => 3);在本文里,所生成的密码有13个字符长,其中包括4个数字、4个小写字符、2个大写字符和3个标点。下面就是一个输出的例子:
w)d9V;7kz64&Y每次调用mkpasswd()的时侯,你会得到一个不同的结果。所以,如果有大量的密码要生成,你可以就把对mkpasswd()的调用放到一个循环里,并处理每次运行的结果。
提示:如果这看起来太麻烦,你还可以不使用任何参数就调用mkpasswd()生成一个默认的9位数的密码。
Crypt::RandPasswd模块
String::MkPasswd模块可以生成很安全但是非常难以记住的密码。如果你更希望生成可以拼读和容易记忆的密码,那就考虑Crypt::RandPasswd模块吧。这个模块是自动密码生成器(Automated Password Generator)的一个实现.
Crypt::RandPasswd模块带有一个word()函数,用来生成可拼读的随机密码:
#!/bin/perl
# use module
use Crypt::RandPasswd;
# generate password
$word = Crypt::RandPasswd->word(5, 10);
print $word;word()函数接受两个自变量:密码长度的上限和下限。下面就是输出结果的一个例子:
ijantyoph提示:通过调用letters()方法你可以生成一个含有一串随机字母字符的密码,而不需要使用words()方法。
评论
0评论加载中…