利用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运维开发课程,是业内最有良心、最有品质的培训课程。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值