PHP加密函數—md5()函數加密
#什麼是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()函數加密》!
PHP加密函數》
2. 3.4 .
#
以上是PHP加密函數—md5()函數加密實例用法的詳細內容。更多資訊請關注PHP中文網其他相關文章!