一个简单的php加密解密函数(动态加密)
2015-01-24信息快讯网
最近项目需要谢了一个简单的php加密解密函数,把代码贴出来 有什么不足的 大家指正
function encode_pass($tex,$key,$type="encode"){ $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; $rand_key=md5($rand_key); $tex=$type=="decode"?base64_decode(substr($tex, 6)):$tex; $texlen=strlen($tex); $reslutstr=""; for($i=0;$i<$texlen;$i++){ $reslutstr.=$tex{$i}^$rand_key{$i%32}; } if($type!="decode"){ $reslutstr=trim($key_b.base64_encode($reslutstr),"=="); $reslutstr=substr(md5($reslutstr), 0,8).$reslutstr; } return $reslutstr; } $psa=encode_pass("phpcode","taintainxousad"); echo $psa; echo encode_pass($psa,"taintainxousad",'decode');