具有时效性的php加密解密函数代码
2015-01-24信息快讯网
该函数具有时效性,只要过期就不能解密!通过时间动态加密 加密后数据多样化,增加破解难度
<?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 "\r\n解密:"; echo encode_pass($psa,"taintainxousad",'decode',120); ?>
带密匙的php加密解密示例分享
使用openssl实现rsa非对称加密算法示例
一组PHP可逆加密解密算法实例代码
discuz加密解密函数使用方法和中文注释
php加密算法之实现可逆加密算法和解密分享
php使用base64加密解密图片示例分享
Android ProgressBar进度条和ProgressDialog进度框的展示DEMO
一个简单的php加密解密函数(动态加密)
深入PHP数据加密详解
PHP写的加密函数,支持私人密钥(详细介绍)
PHP使用DES进行加密与解密的方法详解
一个简洁的PHP可逆加密函数(分享)
怎样给PHP源代码加密?PHP二进制加密与解密的解决办法
PHP和.net中des加解密的实现方法
PHP可逆加密/解密函数分享