随着互联网及其支持的应用变得更为普及,在线安全变得越来越重要。加密与认证成为大多数网站的必要步骤,同时,用户也希望他们使用的工具提供强大的安全功能。
如果你是一个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 |