PHP加密解密类

作者: zms! 日期: 2018.04.18 本文发布于711天前 分类: PHP函数语法点滴 相关:

class Ender{
private $enkey;//加密解密用的密钥
//构造参数是密钥
public function __construct($key=''){
if(!$key){
$this->enkey=$key;
}
}
//设置密钥
public function set_key($key){
$this->enkey=$key;
}
private function keyED($txt,$encrypt_key)
{
$encrypt_key = md5($encrypt_key);
$ctr=0;
$tmp = "";
for ($i=0;$i{
if ($ctr==strlen($encrypt_key)) $ctr=0;
$tmp.= substr($txt,$i,1) ^ substr($encrypt_key,$ctr,1);
$ctr++;
}
return $tmp;
}
//加密字符串
public function encrypt($txt,$key='')
{
if(!$key){
$key=$this->enkey;
}
srand((double)microtime()*1000000);
$encrypt_key = md5(rand(0,32000));
$ctr=0;
$tmp = "";
for ($i=0;$i{
if ($ctr==strlen($encrypt_key)) $ctr=0;
$tmp.= substr($encrypt_key,$ctr,1) .
(substr($txt,$i,1) ^ substr($encrypt_key,$ctr,1));
$ctr++;
}
return base64_encode($this->keyED($tmp,$key));
}
//解密字符串
public function decrypt($txt,$key='')
{
$txt=base64_decode($txt);
if(!$key){
$key=$this->enkey;
}
$txt = $this->keyED($txt,$key);
$tmp = "";
for ($i=0;$i{
$md5 = substr($txt,$i,1);
$i++;
$tmp.= (substr($txt,$i,1) ^ $md5);
}
return $tmp; 
}
}

返回上一页


讨论区

您尚未 登录,或请 注册

登 录 注 册


你可能也喜欢

dbMySQL数据源访问类 2020.03.14,7 pv
php计算当前时间到以后一天、一周、一月、一年 2020.01.12,1 pv
php防止CC攻击代码 php防止网页频繁刷新 2019.06.12,7 pv

php将手机号转为字符串并求所有数字之和,或求字符串中所有数字之和的两个方法: 2018.10.15,15 pv
PHP环境加固,让黑客无从下手 2018.05.15,11 pv
PHP支持手势的手机端图片裁剪上传 2018.05.09,9 pv