php加密解密处理类_现成的实例_复制可运行 | 胡鹏博客
首页 > php资料 > php加密解密处理类_现成的实例_复制可运行
2012二月28

php加密解密处理类_现成的实例_复制可运行

大家做写php程序的时候,可能要用到加密解密的方法,那胡鹏博客就在这里和大家分享一下,我用的方法。复制就可运行的,但是在这里不能直接运行,因为这只能运行html文件的

/*===========================================================
= 版权协议:
= GPL (The GNU GENERAL PUBLIC LICENSE Version 2, June 1991)
=------------------------------------------------------------
= 文件名称:cls.sys_crypt.php
= 摘 要:php加密解密处理类
= 版 本:1.0
= 参 考:Discuz论坛的passport相关函数
=------------------------------------------------------------
= Script Written By PHPWMS项目组
= 最后更新:xinge
= 最后日期:2007-12-09
============================================================*/

class SysCrypt {

private $crypt_key;

// 构造函数
public function __construct($crypt_key) {
$this -> crypt_key = $crypt_key;
}

public function php_encrypt($txt) {
srand((double)microtime() * 1000000);
$encrypt_key = md5(rand(0,32000));
$ctr = 0;
$tmp = '';
for($i = 0;$i $ctr = $ctr == strlen($encrypt_key) ? 0 : $ctr;
$tmp .= $encrypt_key[$ctr].($txt[$i]^$encrypt_key[$ctr++]);
}
return base64_encode(self::__key($tmp,$this -> crypt_key));
}

public function php_decrypt($txt) {
$txt = self::__key(base64_decode($txt),$this -> crypt_key);
$tmp = '';
for($i = 0;$i < strlen($txt); $i++) {
$md5 = $txt[$i];
$tmp .= $txt[++$i] ^ $md5;
}
return $tmp;
}

private function __key($txt,$encrypt_key) {
$encrypt_key = md5($encrypt_key);
$ctr = 0;
$tmp = '';
for($i = 0; $i < strlen($txt); $i++) {
$ctr = $ctr == strlen($encrypt_key) ? 0 : $ctr;
$tmp .= $txt[$i] ^ $encrypt_key[$ctr++];
}
return $tmp;
}

public function __destruct() {
$this -> crypt_key = null;
}
}

$sc = new SysCrypt('phpwms');
$text = 'hupengblog';
print($sc -> php_encrypt($text));
print('
');
print($sc -> php_decrypt($sc -> php_encrypt($text)));
?>

更多

文章作者:东莞seo
本文链接地址:http://www.seostudying.com/584.html
欢迎转载,转载请注明出处»胡鹏博客 [php加密解密处理类_现成的实例_复制可运行]

本文目前尚无任何评论.
您必须在 登录 后才能发布评论.