PHP函数crypt()的功能介绍

itkissit 2009-11-30

我们知道在PHP中有实现数据加密的功能,我们今天将为大家介绍的是其中一个可以实现数据加密功能的函数——PHP函数crypt()。 作为PHP函数crypt()的一个例子,考虑这样一种情况,你希望创建一段PHP脚本程序限 制对一个目录的访问,只允许能够提供正确的用户名和口令的用户访问这一目录。

我将把资料存储在我喜欢的数据库MySQL的一个表中。下面我 们以创建这个被称作members的表开始我们的例子:

mysql>CREATE TABLE members (   



->username CHAR(14) NOT NULL,   




->password CHAR(32) NOT NULL,   




->PRIMARY KEY(username)   




->);  

然后,我们假定下面的数据已经存储在该表中:

用户名 密码
clark keloD1C377lKE
bruce ba1T7vnz9AWgk
peter paLUvRWsRLZ4U

PHP函数crypt()中的这些加密的口令对应的明码分别是kent、banner和parker。注意一下每个口令的前二个字母, 这是因为我使用了下面的代码,根据口令的前二个字母创建干扰串的:

$enteredPassword.   



$salt = substr($enteredPassword, 0, 2);   




$userPswd = crypt($enteredPassword, $salt);   



// $userPswd然后就和用户名一起存储在MySQL 中  

我将使用Apache的口令-应答认证配置提示用户输入用户名和口令,一个鲜为人知的有关PHP的信息是,它可以把Apache 的口令-应答系统输入的用户名和口令识别为$PHP_AUTH_USER和$PHP_AUTH_PW,我将在身份验证脚本中用到这二个变量。花一些时间仔细阅读下 面的脚本,多注意一下其中的解释,以便更好地理解下面的代码:

PHP函数crypt()和Apache的口令-应答验证系统的应用

相关推荐