php教程|php手册
php,加密解密,类,实现,代码,class,Crypt,本文,来源,龙哥,博客,protected,key,公钥,
php教程-php手册
class Crypt{
电子公告源码,ubuntu查看lua版本,tomcat8临时目录,爬虫get不完,php网站建设哪个好,seo表现lzw
// 本文来源:龙哥博客
zlib 源码分析,vscode如何转换成中文,ubuntu 下载博客,tomcat启动弹出,斗鱼 弹幕爬虫,php中文分词算法,seo什么时候发布最重要,wordpress 网站logolzw
protected $key = “”; //公钥
源码教程网,VsCode使用教程-简书,更改ubuntu权限,公网访问tomcat,sqlite delph,网页设计菜单栏标签栏,mysql数据库创建表,云服务器ftp地址,vb 开发打印插件,前端框架飞,斗牛爬虫,php 命令行参数,seo查询源码,springboot表格实现,html css 标签,网站后台密码忘了怎么办,网页确认框样式,html邮件模板代码,magento 后台 演示,页面放大自动排班,学校校舍管理系统,开淘宝客程序下载视频lzw
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(empty($key)){
$key=$this->key;
}
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 $this->keyED($tmp,$key);
}
public function decrypt($txt,$key=””)
{
if(empty($key)){
$key=$this->key;
}
$txt = $this->keyED($txt,$key);
$tmp = “”;
for ($i=0;$i
{
$md5 = substr($txt,$i,1);
$i++;
$tmp.= (substr($txt,$i,1) ^ $md5);
}
return $tmp;
}
public function setKey($key)
{
if(empty($key)){
return null;
}
$this->key=$key;
}
public function getKey()
{
return $this->key;
}
// Downloads By
}
$string = “”;
$crypt= new Crypt();
$crypt->setKey(“”);
$enc_text = $crypt->encrypt($string,$crypt->getKey());
$dec_text = $crypt->decrypt($enc_text,$crypt->getKey());
echo “加密前 : $string
\n”;
echo “加密后 : $enc_text
\n”;
echo “解密后 : $dec_text \n”;
?>
执行结果:
加密前 :
加密后 : hSzQ’Z* kP~y(WpVs=6Q3gZbR5QkhtZ(f=Zm
解密后 :