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檔案,完成與資料庫的連結:
<?phpheader("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()函數對密碼進行加密,使用物件導向的方法完成,參考代碼如下:
<?phpheader("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()函數加密》!
【相關推薦】
1. 相關專題推薦:《PHP加密函數》
2.PHP加密函數—crypt()函數加密用法執行個體
3.PHP加密函數—sha1()函數加密的執行個體用法
4.PHP加密技術視頻教程