编程

当前位置:澳门新莆京娱乐官网 > 编程 > 实现用户身份验证

实现用户身份验证

来源:http://www.drgigabytes.com 作者:澳门新莆京娱乐官网 时间:2019-12-29 03:20

在开发PHP应用中假如不想自己开发新的加密算法,还可以利用PHP提供的crypt()函数来完成单向加密功能。 了解crypt() 只要有一点使用非Windows平台经验的读者都可能对crypt()相当熟悉,这一函数完成被称作单向加密的功能,它可以加密一些明码,但不能反过来将密码重新转换为原来的明码。crypt()函数定义如下。 string crypt (string input_string [, string salt]) 其中,input_string参数是需要加密的明文字符串,第二个可选的salt是一个位字串,能够影响加密的暗码,进一步排除被破解的可能性。缺省情况下,PHP使用一个2个字符的DES干扰串,假如系统使用的是MD5(参考下一节内容),PHP则会使用一个12个字符的干扰串。可以通过执行下面的命令发现系统将要使用的干扰串的长度。 print My system salt size is: . CRYPT_SALT_LENGTH; crypt()支持4种加密算法,表19.1显示了其支持的算法和相应的salt参数的长度。 表crypt()支持四种加密算法算法 Salt长度CRYPT_STD_DES 2-character (Default)CRYPT_EXT_DES 9-characterCRYPT_MD5 12-character beginning with $1$CRYPT_BLOWFISH 16-character beginning with $2$ 从表面上看,crypt()的函数似乎没有什么用处,但该函数的确被广泛用来保证系统密码的完整性。因为,单向加密的口令即使落入第三方的手里,由于不能被还原为明文,也没有什么大用处。 用crypt()实现用户身份验证 上一部分简单介绍了crypt()函数的功能,下面利用其来实现用户的身份验证,其所要实现的目标同19.2.3节所介绍的一致。1 !--check_user_crypt.php:使用crypt() 函数验证用户----------------2 ?php3 $user_name=$_POST[user_name];4 require_once(sys_conf.inc); //系统配置文件,包含数据库配置信息56 //连接数据库7 $link_id=mysql_connect($DBHOST,$DBUSER,$DBPWD);8 mysql_select_db($DBNAME); //选择数据库my_chat910 //查询是否存在登录用户信息11 $str=select name,password from user where name ='$user_name';12 $result=mysql_query($str,$link_id); //执行查询13 @$rows=mysql_num_rows($result); //取得查询结果的记录笔数14 $user_name=$_SESSION[user_name];15 $password=$_POST[password];

本文由澳门新莆京娱乐官网发布于编程,转载请注明出处:实现用户身份验证

关键词:

上一篇:或js获取图片大小

下一篇:没有了