¡¡¡¡ÔÚ¿ª·¢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-character | | CRYPT_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 £¼?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 ?£¾ ¡¡¡¡Ê¾ÀýÓëÉÏÒ»½ÚËù½éÉܵÄʹÓÃXOR¼ÓÃÜËã·¨À´±£»¤Óû§ÐÅÏ¢·Ç³£ÀàËÆ£¬ÆäºËÐIJ¿·ÖÔÚÓÚµÚ16¡¢17ÐÐʹÓÃcrypt()º¯Êý»ñÈ¡¼ÓÃܺóµÄÃÜÂ룬¶øÍ¨¹ýÔÚµÚ25ÐбȽÏÊý¾Ý¿âÖеÄÃÜÂëºÍ¼ÓÃܺóµÄÃÜÂëÊÇ·ñÏàµÈÀ´¼ì²éÓû§ÊÇ·ñºÏ·¨¡£
¡¡¡¡ÏÂÃæ£¬Í¨¹ýÒ»¸öʵÀýÀ´¿´Ò»Ï¼ÓÃܺóµÄÃÜÂë»á±ä³ÉʲôÑù×Ó¡£
¡¡¡¡ÀýÈ磬Óû§ÃûΪrock£¬ÃÜÂëΪ123456£¬Ôò¼ÓÃܺóµÄÃÜÂëΪ:
¡¡¡¡12tir.zIbWQ3c
¡¡¡¡ÉÏÃæ¾ÍʵÏÖÁËÒ»¸ö¼òµ¥µÄÓû§Éí·ÝÑé֤ϵͳ¡£ÔÚʹÓÃcrypt()±£»¤ÖØÒªµÄ»úÃÜÐÅϢʱ£¬ÐèҪעÒâµÄÊÇ£¬ÔÚȱʡ״̬ÏÂʹÓÃcrypt()²¢²»ÊÇ×ȫµÄ£¬Ö»ÄÜÓÃÔÚ¶Ô°²È«ÐÔÒªÇó½ÏµÍµÄϵͳÖС£
|