当前位置:Gxlcms > PHP教程 > php加密解密处理类--参考:Discuz论坛的passpor_PHP教程

php加密解密处理类--参考:Discuz论坛的passpor_PHP教程

时间:2021-07-01 10:21:17 帮助过:10人阅读

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 class SysCrypt {
17
18 private $crypt_key;
19
20 // 构造函数
21 public function __construct($crypt_key) {
22 $this -> crypt_key = $crypt_key;
23 }
24
25 public function php_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 return base64_encode(self::__key($tmp,$this -> crypt_key));
35 }
36
37 public function php_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 private function __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 public function __destruct() {
59 $this -> crypt_key = null;
60 }
61 }
62
63
64 $sc = new SysCrypt('phpwms');
65 $text = '110';
66 print($sc -> php_encrypt($text));
67 print('
'
);
68 print($sc -> php_decrypt($sc -> php_encrypt($text)));
69 ?>

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/371817.htmlTechArticle?php 02 /*=========================================================== 03 = 版权协议: 04 = GPL (The GNU GENERAL PUBLIC LICENSE Version 2, June 1991) 05 =----------------------...

人气教程排行