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

Time-sensitive PHP encryption and decryption function code_PHP tutorial

WBOY
Release: 2016-07-21 15:05:27
Original
913 people have browsed it

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',...
source:php.cn
Statement of this Website
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template