一個簡單的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');


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM