Home  >  Article  >  Backend Development  >  Time-sensitive PHP encryption and decryption function code_PHP tutorial

Time-sensitive PHP encryption and decryption function code_PHP tutorial

WBOY
WBOYOriginal
2016-07-21 15:05:27849browse

Copy code The code is as follows:

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)< 14)return false; ),0,8)){
                                                                                                                                                                               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;
//Set time option
$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);                                                                     time()-$modnum)/$expiry));
}else{
} $modnum=time()%$expiry;
$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<$texlen;$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 "rndecryption:";
echo encode_pass($psa,"taintainxousad",'decode',120);
?>

This function is time-sensitive and cannot be decrypted as long as it expires! Dynamic encryption through time diversifies the encrypted data and increases the difficulty of cracking

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/327688.htmlTechArticleCopy the code as follows: ?php 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',...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn