演算法 | Salt長度 |
CRYPT_STD_DES | 2-character (Default) |
CRYPT_EXT_DES | 9-character |
CRYPT_MD5 | 12-character beginning with $1$ |
CRYPT_BLOWFISH | 16-character beginning with $2$ |
1 <!--check_user_crypt.php:使用crypt() 函式驗證使用者----------------> 2 <?php 3 $user_name=$_POST["user_name"]; 4 require_once("sys_conf.inc"); //系統設定文件,包含資料庫設定資訊 5 6 //連接資料庫 7 $link_id=mysql_connect($DBHOST,$DBUSER,$DBPWD); 8 mysql_select_db($DBNAME); //選擇資料庫my_chat 9 10 //查詢是否有登入使用者資訊 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"]; 16 $salt = substr($password, 0, 2); 17 $password_en=crypt($password,$salt); //使用crypt()對使用者密碼加密 18 19 //對於舊用戶 20 if($rows!=0) 21 { 22 list($name,$pwd)=mysql_fetch_row($result); 23 24 //如果密碼輸入正確 25 if($pwd==$password_en) 26 { 27 $str="update user set is_online =1 where name ='$user_name' and password='$password_en'"; 28 $result=mysql_query($str, $link_id);//執行查詢 29 require("main.php"); //前往聊天頁面 30 } 31 //密碼輸入錯誤 32 else 33 { 34 require("relogin.php"); 35 } 36 37 } 38 //對於新用戶,將其資訊寫入資料庫 39 else 40 { 41 $str="insert into user (name,password,is_online) values('$user_ name','$password_en',1)"; 42 $result=mysql_query($str, $link_id); //執行查詢 43 require("main.php"); //前往聊天頁面 44 } 45 //關閉資料庫 46 mysql_close($link_id); 47 ?> |