码迷,mamicode.com
首页 > 其他好文 > 详细

利用Perl生成随机复杂密码

时间:2016-12-05 23:40:11      阅读:201      评论:0      收藏:0      [点我收藏+]

标签:linux   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生成随机复杂密码

标签:linux   perl   

原文地址:http://imysql.blog.51cto.com/1540006/1879728

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!