php的一个简单加密解密代码
php的一个简单加密解密代码
发布时间:2016-12-29 来源:查字典编辑
摘要:复制代码代码如下:classSysCrypt{private$crypt_key='http://www.jb51.net';//密钥pub...

复制代码 代码如下:

class SysCrypt{

private $crypt_key='http://www.jb51.net';//密钥

public function __construct($crypt_key){

$this->crypt_key=$crypt_key;

}

public function encrypt($txt){

srand((double)microtime()*1000000);

$encrypt_key=md5(rand(0,32000));

$ctr=0;

$tmp='';

for($i=0;$i<strlen($txt);$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 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('http://www.jb51.net');

$text='yhm.1234@163.com';

$test1=$sc->encrypt($text);

echo '原文:',$text;

echo '<br />';

echo '密文:',$test1;

echo "<br/>";

echo '解密:',$sc->decrypt($test1);

输出结果类似:

原文:yhm.1234@163.com

密文:BS8DbFU6AioCNFFlVGZQMgRGBDUOYlEzBXoAZgo0Bjk=

解密:yhm.1234@163.com

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新php教程学习
热门php教程学习
编程开发子分类