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