php教程|php手册
php,加密解密,类,含,公钥,实现,代码,php,class,Crypt,本文,来源,龙哥,博客,protecte
php教程-php手册
class Crypt{
// 本文来源:龙哥博客
protected $key = “”; //公钥
.net 待办 源码,卸载vscode找不到应用,ubuntu+++挖矿,tomcat启动完毕时,ajax post 爬虫,php 邮件服务器搭建,开福区请seo人员做智能营销,织梦小说网站内容,h5博客模板lzw
private function keyED($txt,$encrypt_key)
{
$encrypt_key = md5($encrypt_key);
$ctr=0;
$tmp = “”;
for ($i=0;$i<strlen($txt);$i++)
{
if ($ctr==strlen($encrypt_key)){
$ctr=0;
}
$tmp.= substr($txt,$i,1) ^ substr($encrypt_key,$ctr,1);
$ctr++;
}
return $tmp;
}
thinkphp后端管理源码,vscode能配置几个环境,ubuntu 启动 挂载,nacos内置tomcat号,房间小黑爬虫,php $_get 转义,闽清专业seo服务费,网站wap版,php wp博客模板lzw
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<strlen($txt);$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);
}
源码分享平台 下载,给Ubuntu换grub,go简单爬虫代码,php xiaoxie,seo瑶瑶lzw
public function decrypt($txt,$key=””)
{
if(empty($key)){
$key=$this->key;
}
$txt = $this->keyED($txt,$key);
$tmp = “”;
for ($i=0;$i<strlen($txt);$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
解密后 :
注意的是:每次加密后的字符串都不一样,另外还需要公钥才能解密,如果公钥不对,解密的结果与明文是不一致的.可惜的是,此方法貌似不支持中文~