随着互联网及其支持的应用变得更为普及,在线安全变得越来越重要。加密与认证成为大多数网站的必要步骤,同时,用户也希望他们使用的工具提供强大的安全功能。
如果你是一个Perl应用开发者,由于Perl综合典藏网(CPAN)的存在,你已经走在前列。这是因为CPAN拥有许多现成的Perl模块,可帮助开发者有效地执行并应用安全、用户认证与数据加密有关的常见任务。本文为你解释了十个最重要的模块,说明其如何运行,并为你提供一个链接,以方便你开始学习(见表A)。
注:你可以按它们网站上的提示,直接从互联网上安装CPAN模块。
表A
包名称
|
说明
|
URL
|
Crypt::GPG
|
此模块提供一个API,用带GUN隐私卫士(GUN Privacy Guard)的公有/专用密钥认证给文件加密、签名或解密。它应用一个面向对象的界面来生成新密钥对,处理密钥数据库或验证签名文件。
在Perl应用中,当需要建立并执行GunPG加密或解密时,应用此模块。
|
GPG
|
Crypt::Blowfish
|
此模块提供一个基于对象的界面,应用Blowfish加密算法,对测试进行加密或解密。
当你需要应用Blowfish算法加密敏感数据(如密码)时应用此模块。
|
Blowfish
|
Crypt::RSA
|
此模块提供一个基于对象的界面,应用RSA公有/专用密钥认证对文件进行加密、签名或解密。API中包含生成新密钥并验证签名的方法。
当你需要应用公有/专用密钥认证对电子邮件或文件进行加密时应用此模块。
|
RSA
|
Crypt::IDEA
|
此模块提供一个基于对象的界面,应用IDEA块密码加密术对测试进行加密或解密。
当你需要应用IDEA加密术加密敏感数据(如密码)时应用此模块。
|
IDEA
|
Crypt::MD5
|
此模块提供一个Perl界面来生成文件或字符串序列的MD5信息摘要。
当你需要生成一个文件或字符串的MD5“指纹”时应用此模块。
|
MD5
|
Crypt::SaltedHash
|
此模块为应用“salt”或种子值单向加密提供一个基于对象的API。这一技巧与用在*NIX密码文件中的技巧类似。
当你需要用单向加密保护一个字符串,或测试一个加密字符串的内容时,应用此模块。
|
SaltedHash
|
Crypt::PassGen
|
此模块提供一个API,从字典中建立可发音的密码。此模块从字典中建立一个频率文件,并将此文件用于密码生成过程中。
当你需要生成可发音的用户名或容易记忆的密码时应用此模块。
|
PassGen
|
Crypt::PAM
|
此模块为Linux可插拔验证模块(PAM)提供一个面向对象的界面,一个用户认证的通用机制。它可用来访问、验证并修改用户证书,设定并阅读环境变量,用于PAM用户任务中。
当你需要通过Perl应用干扰Linux认证系统——如修改一个用户密码时,应用此模块。
|
PAM
|
Authen::Users
|
此模块提供一个框架,用密码数据库(MySQL或SQLite)进行用户管理与认证。其中包含许多深思熟虑的函数,旨在管理用户、组成用户组,并处理组与组之间成员的关系。
如果你的Perl应用需要一个简单的密码数据库来管理用户/用户组账号,应用此模块。
|
Users
|
Authen::PIN
|
此模块旨在从用户供应的模板建立一个高强度的密码数字序列。它支持所有的内部验证数字(基于校验和)、计数器与文字。
当你需要建立一个支持内部验证、难以猜测的数字PIN或数字序列时,应用此模块。
|
PIN
|
|