Heim > php教程 > php手册 > Hauptteil

具有时效性的php加密解密函数代码

WBOY
Freigeben: 2016-06-06 20:30:17
Original
1352 Leute haben es durchsucht

该函数具有时效性,只要过期就不能解密!通过时间动态加密 加密后数据多样化,增加破解难度

复制代码 代码如下:


function encode_pass($tex,$key,$type="encode",$expiry=0){
$chrArr=array('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z',
'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z',
'0','1','2','3','4','5','6','7','8','9');
if($type=="decode"){
if(strlen($tex) $verity_str=substr($tex, 0,8);
$tex=substr($tex, 8);
if($verity_str!=substr(md5($tex),0,8)){
//完整性验证失败
return false;
}
}
$key_b=$type=="decode"?substr($tex,0,6):$chrArr[rand()%62].$chrArr[rand()%62].$chrArr[rand()%62].$chrArr[rand()%62].$chrArr[rand()%62].$chrArr[rand()%62];

$rand_key=$key_b.$key;
//设置时间选项
$modnum=0;$modCount=0;$modCountStr="";
if($expiry>0){
if($type=="decode"){
$modCountStr=substr($tex,6,1);
$modCount=$modCountStr=="a"?10:floor($modCountStr);
$modnum=substr($tex,7,$modCount);
$rand_key=$rand_key.(floor((time()-$modnum)/$expiry));
}else{
$modnum=time()%$expiry;
$modCount=strlen($modnum);
$modCountStr=$modCount==10?"a":$modCount;

$rand_key=$rand_key.(floor(time()/$expiry));
}
$tex=$type=="decode"?base64_decode(substr($tex, (7+$modCount))):"xugui".$tex;
}else{
$tex=$type=="decode"?base64_decode(substr($tex, 6)):"xugui".$tex;
}
$rand_key=md5($rand_key);


$texlen=strlen($tex);
$reslutstr="";
for($i=0;$i $reslutstr.=$tex{$i}^$rand_key{$i%32};
}
if($type!="decode"){
$reslutstr=trim(base64_encode($reslutstr),"==");
$reslutstr=$modCount?$modCountStr.$modnum.$reslutstr:$reslutstr;
$reslutstr=$key_b.$reslutstr;
$reslutstr=substr(md5($reslutstr), 0,8).$reslutstr;
}else{
if(substr($reslutstr,0, 5)!="xugui"){
return false;
}
$reslutstr=substr($reslutstr, 5);
}
return $reslutstr;
}
$psa=encode_pass("woshi ceshi yong de ","taintainxousad","encode",120);
echo $psa;
echo "\r\n解密:";
echo encode_pass($psa,"taintainxousad",'decode',120);
?>

该函数具有时效性,网站空间,只要过期就不能解密!通过时间动态加密 加密后数据多样化,美国服务器,增加破解难度 ,香港服务器
Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Empfehlungen
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage