¡¡¡¡ÔÚ¿ª·¢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_DES2-character (Default)
CRYPT_EXT_DES9-character
CRYPT_MD512-character beginning with $1$
CRYPT_BLOWFISH16-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()²¢²»ÊÇ×ȫµÄ£¬Ö»ÄÜÓÃÔÚ¶Ô°²È«ÐÔÒªÇó½ÏµÍµÄϵͳÖС£