php加密解密处理类
作者:jao 发布于:2012-12-17 22:30 分类:PHP教程
| 01 | <?php | 
| 02 | /*=========================================================== | 
| 03 | = 版权协议: | 
| 04 | = GPL (The GNU GENERAL PUBLIC LICENSE Version 2, June 1991) | 
| 05 | =------------------------------------------------------------ | 
| 06 | = 文件名称:cls.sys_crypt.php | 
| 07 | = 摘    要:php加密解密处理类 | 
| 08 | = 版    本:1.0 | 
| 09 | = 参    考:Discuz论坛的passport相关函数 | 
| 10 | =------------------------------------------------------------ | 
| 11 | = Script Written By PHPWMS项目组 | 
| 12 | = 最后更新:xinge | 
| 13 | = 最后日期:2007-12-09 | 
| 14 | ============================================================*/ | 
| 15 | 
| 16 | classSysCrypt { | 
| 17 | 
| 18 | private$crypt_key; | 
| 19 | 
| 20 | // 构造函数 | 
| 21 | publicfunction__construct($crypt_key) { | 
| 22 |    $this-> crypt_key = $crypt_key; | 
| 23 | } | 
| 24 | 
| 25 | publicfunctionphp_encrypt($txt) { | 
| 26 |    srand((double)microtime() * 1000000); | 
| 27 |    $encrypt_key= md5(rand(0,32000)); | 
| 28 |    $ctr= 0; | 
| 29 |    $tmp= ''; | 
| 30 |    for($i= 0;$i<strlen($txt);$i++) { | 
| 31 |     $ctr= $ctr== strlen($encrypt_key) ? 0 : $ctr; | 
| 32 |     $tmp.= $encrypt_key[$ctr].($txt[$i]^$encrypt_key[$ctr++]); | 
| 33 |    } | 
| 34 |    returnbase64_encode(self::__key($tmp,$this-> crypt_key)); | 
| 35 | } | 
| 36 | 
| 37 | publicfunctionphp_decrypt($txt) { | 
| 38 |    $txt= self::__key(base64_decode($txt),$this-> crypt_key); | 
| 39 |    $tmp= ''; | 
| 40 |    for($i= 0;$i< strlen($txt); $i++) { | 
| 41 |     $md5= $txt[$i]; | 
| 42 |     $tmp.= $txt[++$i] ^ $md5; | 
| 43 |    } | 
| 44 |    return$tmp; | 
| 45 | } | 
| 46 | 
| 47 | privatefunction__key($txt,$encrypt_key) { | 
| 48 |    $encrypt_key= md5($encrypt_key); | 
| 49 |    $ctr= 0; | 
| 50 |    $tmp= ''; | 
| 51 |    for($i= 0; $i< strlen($txt); $i++) { | 
| 52 |     $ctr= $ctr== strlen($encrypt_key) ? 0 : $ctr; | 
| 53 |     $tmp.= $txt[$i] ^ $encrypt_key[$ctr++]; | 
| 54 |    } | 
| 55 |    return$tmp; | 
| 56 | } | 
| 57 | 
| 58 | publicfunction__destruct() { | 
| 59 |    $this-> crypt_key = null; | 
| 60 | } | 
| 61 | } | 
| 62 | 
| 63 | 
| 64 | $sc= newSysCrypt('phpwms'); | 
| 65 | $text= '110'; | 
| 66 | print($sc-> php_encrypt($text)); | 
| 67 | print('<br>'); | 
| 68 | print($sc-> php_decrypt($sc-> php_encrypt($text))); | 
| 69 | ?> | 
我的主页统计
- 建站日期:2012-11-26
 
 
		