一個簡單的php加密解密函數(shù)(動態(tài)加密)
更新時間:2013年06月19日 10:30:56 作者:
最近項目需要謝了一個簡單的php加密解密函數(shù),把代碼貼出來 有什么不足的 大家指正
復制代碼 代碼如下:
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');
相關文章
WordPress中創(chuàng)建用戶角色的相關PHP函數(shù)使用詳解
這篇文章主要介紹了WordPress中創(chuàng)建用戶角色的相關函數(shù)使用,在WordPress的多用戶模式中不同角色擁有不同的權限,需要的朋友可以參考下2015-12-12
詳解WordPress開發(fā)中的get_post與get_posts函數(shù)使用
這篇文章主要介紹了WordPress開發(fā)中的get_post與get_posts函數(shù)使用,其中一般使用get_posts()函數(shù)來返回文章數(shù)組而較少使用get_post(),需要的朋友可以參考下2016-01-01
PHP判斷文件是否被引入的方法get_included_files用法示例
這篇文章主要介紹了PHP判斷文件是否被引入的方法get_included_files用法,結合實例形式分析了get_included_files函數(shù)獲取引入文件及遍歷輸出的操作技巧,需要的朋友可以參考下2016-11-11

