首页 > 代码库 > 利用Perl生成随机复杂密码

利用Perl生成随机复杂密码

#!/usr/bin/perl
my $characterset = ‘abcdefghijkmnopqrstuvwxyz23456789ABCDEFGHIJKLMNPQRSTUVWXYZ‘;
#$characterset .= ‘~!@$%^()_{},./<>?-‘;
#$characterset .= "~!@$%^&*()_+|{},./<>?-=\";
#$characterset .= ‘~!@#$%^*()_|{},./<>?-=\‘;
$characterset .= ‘@#%^*()_=-~,.?;:|‘;
my $mininum = 8;
my $maxinum = 10;
sub MakePassword
{
my ($composition, $lowlength, $highlength) = @_;
return ‘‘ unless $composition;
my @p = split //, $composition;
my $arraylength = @p;
$lowlength = 7 if $lowlength < 1;
$highlength =7 if $highlength < 1;
if ($lowlength > $highlength) {
($highlength, $lowlength) = ($lowlength, $highlength);
}
my $length = int(rand($highlength - $lowlength + 1));
$length += $lowlength;
my $password = ‘‘;
for (1..$length) {
my $i = int(rand($arraylength));
$password .= $p[$i];
}
return $password;
}
my $password = MakePassword ($characterset, $mininum, $maxinum);
print "$password\n";



--------------------------------------分割线--------------------------------------

知数堂 (http://zhishuedu.com)培训是由资深MySQL专家叶金荣、吴炳锡联合推出的专业优质培训品牌,主要有MySQL DBA实战优化和Python运维开发课程,是业内最有良心、最有品质的培训课程。

本文出自 “老叶茶馆” 博客,请务必保留此出处http://imysql.blog.51cto.com/1540006/1879728

利用Perl生成随机复杂密码