什么是MD5()函数?
MD5()函数是计算器字符串的 MD5散列值,使用MD5的算法,MD5的全称是Message-Digest Algorithm 5,它的作用是把不同长度的数据信息经过一系列的算法计算成一个 128 ***数值,就是把一个任意长度的字节串变成一定长的大整数。注意这里说的是“字节串”,而不是“字符串”,因为这种变换只与字节的值有关系,与字符集或者编码方式并无关。
我们在前面的章节为大家介绍了PHP加密函数—crypt()函数加密,相信大家已经对PHP加密函数已经有所了解了,今天,我们给大家详细介绍PHP加密函数—md5()函数加密。
首先我们来看下MD5()函数的语法结构:
string md5(string str[,bool raw_output]);
其中,字符串 str 为要加密的明文,rew_output 参数如果设置为true,那么函数就会返回一个二进制形式的密文,该参数默认为 false。
在很多的网站中,注册用户名的密码都是使用 MD5加密,然后在保存到数据库的,用户名登录的时候,程序把用户输入的面积算成MD5值,然后再去和数据库中保存的MD5值进行比较,在这个过程中呢,程序自身都不会“知道”用户的真是密码,从而保证了祖册用户的个人隐私,提高了安全性。
下面实例实现注册和登录的功能,通过MD5加密后,保存数据库,具体步骤如下:
第一步:创建conn.php文件,完成与数据库的链接:
<?php header("Content-Type:text/html; charset=utf-8"); $conn =mysql_connect("localhost","root","root")or die("数据库连接失败".mysql_error());//连接服务器 mysql_select_db("这里是你的数据库名",$conn);//连接数据库 mysql_query("set name gb2312");//设置编码格式 ?>
第二步:创建会员注册页面,就是 register.php文件,在该文件中,首先创建 form表单,通过 register()方法对表单元素值进行验证,接着添加表单元素,完成用户名和密码的提交,最后将表单中的数据提交到 register_ok.php文件中,通过面向对象的方法完成注册信息的提交***作,这里就不贴代码了!
第三步:就是创建register_ok.php文件,获取表单中的数据,通过MD5()函数对密码进行加密,使用面向对象的方法完成,参考代码如下:
<?php header("Content-Type:text/html; charset=utf-8"); class chkinput{ //定义 chkinput类 var $name; //定义成员变量 var $pwd; //定义成员变量 function chkinput($x,$y){ //定义成员方法 $this -> name =$x; //为变量赋值 $this -> pwd = $y; //为变量赋值 } function checkinput(){ //定义方法 include "conn/conn.php"; //调用文件 $info = mysql_query("insert into 这里是数据库名(user,password)value(‘“.$this -> name.'",'".$this -> pwd.'")"); if($info == false){ echo "<script language='javascript'>alert('会员注册失败');history.back();</script>"; exit(); }else{ $_SESSION[admin_name]=$this ->name; echo "<script language='javascript'>alert('会员注册成功');window.location,href='index.php';</script>"; } } } $obj = new chkinput(trim($_POST[name]),trim(md5($_POST[pwd]))); //实例化类 $obj -> checkinput(); //返回 ?>
第四步:创建 index.php和index_ok.php文件,实现登录的功能,这里就不粘贴代码了!
完成以后可以再数据库查看加密过后的密码!
在下一篇文章中,我将介绍一个跟MD5()函数类似的函数,sha1(),具体请阅读《PHP加密函数—sha1()函数加密》!