Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

discuz ¾­µäphp¼ÓÃܽâÃܺ¯Êý authcode ½âÎö

¿µÊ¢µÄ authcode º¯Êý¿ÉÒÔ˵¶ÔÖйúµÄPHP½ç×÷³öÁËÖØ´ó¹±Ïס£°üÀ¨¿µÊ¢×Ô¼ºµÄ²úÆ·£¬ÒÔ¼°´ó²¿·ÖÖйúʹÓÃPHPµÄ¹«Ë¾¶¼ÓÃÕâ¸öº¯Êý½øÐмÓÃÜ£¬authcode ÊÇʹÓÃÒì»òÔËËã½øÐмÓÃܺͽâÃÜ¡£
Ô­ÀíÈçÏ£¬¼ÙÈ磺
¼ÓÃÜ
Ã÷ÎÄ£º1010 1001
Ãܳףº1110 0011
ÃÜÎÄ£º0100 1010
µÃ³öÃÜÎÄ0100 1010£¬½âÃÜÖ®ÐèºÍÃܳ×Òì»òϾͿÉÒÔÁË
½âÃÜ
ÃÜÎÄ£º0100 1010
Ãܳףº1110 0011
Ã÷ÎÄ£º1010 1001
²¢Ã»ÓÐʲô¸ßÉîµÄËã·¨£¬Ãܳ×ÖØÒªÐԺܸߣ¬ËùÒÔ£¬¹Ø¼üÔÚÓÚÔõôÉú³ÉÃܳס£
ÄÇÎÒÃÇÒ»Æð¿´Ï¿µÊ¢µÄauthcodeÔõô×öµÄ°É
1.// ²ÎÊý½âÊÍ
2.// $string£º Ã÷ÎÄ »ò ÃÜÎÄ
3.// $operation£ºDECODE±íʾ½âÃÜ,ÆäËü±íʾ¼ÓÃÜ
4.// $key£º Ãܳ×
5.// $expiry£ºÃÜÎÄÓÐЧÆÚ
6.function authcode($string, $operation = 'DECODE', $key = '', $expiry = 0) {
7. // ¶¯Ì¬Ãܳ׳¤¶È£¬ÏàͬµÄÃ÷ÎÄ»áÉú³É²»Í¬ÃÜÎľÍÊÇÒÀ¿¿¶¯Ì¬Ãܳ×
8. $ckey_length = 4;
9.
10. // Ãܳ×
11. $key = md5($key ? $key : $GLOBALS['discuz_auth_key']);
12.
13. // Ãܳ×a»á²ÎÓë¼Ó½âÃÜ
14. $keya = md5(substr($key, 0, 16));
15. // Ãܳ×b»áÓÃÀ´×öÊý¾ÝÍêÕûÐÔÑéÖ¤
16. $keyb = md5(substr($key, 16, 16));
17. // Ãܳ×cÓÃÓڱ仯Éú³ÉµÄÃÜÎÄ
18. $keyc = $ckey_length ? ($operation == 'DECODE' ? substr($string, 0, $ckey_length): substr(md5(microtime()), -$ckey_length)) : '';
19. // ²ÎÓëÔËËãµÄÃܳ×
20. $cryptkey = $keya.md5($keya.$keyc);
21. $key_length = strlen($cryptkey);
22. // Ã÷ÎÄ£¬Ç°10λÓÃÀ´±£´æÊ±¼ä´Á£¬½âÃÜʱÑéÖ¤Êý¾ÝÓÐЧÐÔ£¬10µ½26λÓÃÀ´±£´æ$keyb(Ãܳ×b)£¬½âÃÜʱ»áͨ¹ýÕâ¸öÃܳ×ÑéÖ¤Êý¾ÝÍêÕûÐÔ
23. // Èç¹ûÊǽâÂëµÄ»°£¬»á´ÓµÚ$ckey_lengthλ¿ªÊ¼£¬ÒòΪÃÜÎÄǰ$ckey_lengthλ±£´æ ¶¯Ì¬Ãܳף¬ÒÔ±£Ö¤½âÃÜÕýÈ·
24. $string = $operation == 'DECODE' ? base64_decode(substr($string, $ckey_length)) : sprintf('%010d', $expiry ? $expiry + time() : 0).substr(md5($string.$keyb), 0, 16).$string;
25. $string_length = strlen($string);
26. $result = '';
27. $box = range(0, 255);
28. $rndkey = array();
29. // ²úÉúÃܳײ¾
30. for($i = 0; $i <= 255; $i++) {
31.


Ïà¹ØÎĵµ£º

PHP Êý×éºÍ×Ö·û´®»¥Ïàת»»

PHP ÖÐÓÉÓÚÊý×éºÍ×Ö·û´®ÕâÁ½ÖÖ±äÁ¿ÀàÐÍÊÇÈç´Ë³£Óã¬ÒÔÖÁÓÚ PHP ¾ßÓÐÁ½¸öº¯Êý£¬¿ÉÒÔÔÚ×Ö·û´®ºÍÊý×éÖ®¼ä»¥Ïà½øÐÐת»»¡£
¡¡¡¡$array=explode(separator,$string);
¡¡¡¡$string=implode(glue,$array);
¡¡¡¡Ê¹ÓúÍÀí½âÕâÁ½¸öº¯ÊýµÄ¹Ø¼üÖ®´¦ÊÇ·Ö¸ô·û£¨separator£©ºÍ½ººÏ·û£¨glue£©¹ØÏµ¡£µ±°ÑÒ»¸öÊý×éת»»³ÉÒ»¸ö×Ö·û´®Ê±£¬½«»áÉ ......

20¸ö·Ç³£ÓÐÓõÄPHPÀà¿â

ÏÂÃæÊÇһЩ·Ç³£ÓÐÓõÄPHPÀà¿â£¬ÏàÐÅÒ»¶¨¿ÉÒÔΪÄãµÄWEB¿ª·¢Ìṩ¸üºÃºÍ¸üΪ¿ìËٵķ½·¨¡£
ͼ±í¿â
ÏÂÃæµÄÀà¿â¿ÉÒÔÈÃÄãºÜ¼òµÄ´´½¨¸´ÔÓµÄͼ±íºÍͼƬ¡£µ±È»£¬ËüÃÇÐèÒªGD¿âµÄÖ§³Ö¡£
pChart - Ò»¸ö¿ÉÒÔ´´½¨Í³¼ÆÍ¼µÄ¿â¡£
Libchart - ÕâÒ²ÊÇÒ»¸ö¼òµ¥µÄͳ¼ÆÍ¼¿â¡£
JpGraph - Ò»¸öÃæÏò¶ÔÏóµÄͼƬ´´½¨Àà¡£
Open Flash Chart - ÕâÊ ......

phpÓ¦ÓÃ

×î½üÔÚѧϰphp£¬Ò³ÃæÒѾ­×öºÃÁË£¬ÏÖÔÚ¾ÍÊǺÍÐéÄâ»úÀïC´úÂëµÄͨÐÅ£¬socket±à³Ì»¹¿ÉÒÔ£¬¾ÍÊÇÄÃÊý¾ÝµÄ´¦Àí£¬ÄÑ£¬¡£
ÀàµÄ±à³ÌÎÒ²»»á£¬Ã»ÓÐѧ¹ýC++¡£±¾À´´òËãÓýṹÌåµÄ£¬¿ÉÊÇPHPÀïÃæ¾ÓȻûÓнṹÌ壬Ôõô°ìÄØ£¿¼ÌÐøÅ¬Á¦°É
......

php»ñÈ¡xmlÊôÐÔÖµ

<!-- xml¸ñʽ
<foo xmlns="test">
<bar attr='a'></bar>
<bar attr='b'></bar>
<bar attr='c'></bar>
</foo>
-->
<?php
$dom = new DOMDocument();
if (!$dom->load('attr.xml'))
{
echo "load books.xml failed!<br>";
re ......

Phpѧϰ±Ê¼Ç

·¢±íÓÚ2008Äê10ÔÂ14ÈÕ
PHP»ù´¡£º±êǩʹÓãº
PHP´úÂë±ØÐë°üº¬ÔÚ <?PHP ºÍ ?>Ö®¼ä¡£
һЩÆäËûµÄ±êÇ©ÑùʽҲ¿ÉÒÔʹÓ㬱ÈÈç<?,<%,»òÕß<script  language="php">(Js±êÇ©)¡£
ÆäËû±êÇ©¿ÉÒÔÊÇÓ㬵«Ö»ÓÐÔÚ<?php £¿>Ö®¼äµÄ½Å±¾²ÅÊÇ¿ÉÓõÄPHP´úÂë¡£
£¨¹ØÓÚlesson 23 µÄphp.iniÅäÖÃÎļþ£©
¿ªÊ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ