65.9K
CodeProject 正在变化。 阅读更多。
Home

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

starIconstarIcon
emptyStarIcon
starIcon
emptyStarIconemptyStarIcon

2.92/5 (9投票s)

2003 年 2 月 19 日

1分钟阅读

viewsIcon

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 加密的填充文件。只需传递一个与您正在加密的数据大小对称的密码大小,并将内容转储到文件中即可。就这么简单。这个函数很小但很有用,因此我在这里发布它。请查看它,希望您能找到它的用处。

许可证

本文未附加明确的许可证,但可能在文章文本或下载文件本身中包含使用条款。如有疑问,请通过下面的讨论区联系作者。

作者可能使用的许可证列表可以在此处找到。

© . All rights reserved.