为基于 PERL 的密码学生成“随机”字符串






2.92/5 (9投票s)
2003 年 2 月 19 日
1分钟阅读

79731
本文将详细介绍一种相对简单的方法,用于生成随机字母数字字符串,以便在 PERL 中实现各种密码学/安全方案。
密码生成
Perl 是一种强大的语言,它可以轻松地处理几乎所有类型的数据。使用 C++ 或 Java 等其他语言需要花费大量的代码行才能完成的任务,在 Perl 中只需付出很少的努力就能完成。在进行密码学相关工作时,这可能是一项宝贵的资产,尤其是在需要快速生成信息时。例如,假设您需要快速生成一个随机密码来保护您的网站……您可以使用如下代码来实现它……
sub generate_random_password
{
my $passwordsize = shift;
my @alphanumeric = ('a'..'z', 'A'..'Z', 0..9);
my $randpassword = join '',
map $alphanumeric[rand @alphanumeric], 0..$passwordsize;
return $randpassword;
}
代码的调用方式如下
$returnvalue = generate_random_password(64);
OR
$returnvalue = &generate_random_password(64);
这两种方式是在 Perl 中调用未打包函数的两种方式,任何其他方法都会引发错误,并导致您的程序表现得好像接触到了劣质的 LSD……无论如何……这段代码接受 $passwordsize
作为长度参数,并使用介于 0 和传递给函数的长度之间的插值,返回一个指定长度的 字符串
。您还可以使用它来生成 OTP 加密的填充文件。只需传递一个与您正在加密的数据大小对称的密码大小,并将内容转储到文件中即可。就这么简单。这个函数很小但很有用,因此我在这里发布它。请查看它,希望您能找到它的用处。
许可证
本文未附加明确的许可证,但可能在文章文本或下载文件本身中包含使用条款。如有疑问,请通过下面的讨论区联系作者。
作者可能使用的许可证列表可以在此处找到。