源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

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

  • 时间:2021-04-14 08:36 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:具有时效性的php加密解密函数代码
[u]复制代码[/u] 代码如下:
<?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','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;         $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<$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 "rn解密:"; echo encode_pass($psa,"taintainxousad",'decode',120); ?>
该函数具有时效性,只要过期就不能解密!通过时间动态加密 加密后数据多样化,增加破解难度
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部