php之實現原始碼加密的方法

來源:互聯網
上載者:User
方法一:

<?php  function RandAbc($length=""){//返回隨機字串  $str="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";  return str_shuffle($str); } $filepath='index.php'; $path_parts= pathinfo($filepath); $filename=$path_parts["basename"]; $T_k1=RandAbc();//隨機密匙1 $T_k2=RandAbc();//隨機密匙2 $vstr=file_get_contents($filename);//要加密的檔案  $v1=base64_encode($vstr); $c=strtr($v1,$T_k1,$T_k2);//根據密匙替換對應字元。 $c=$T_k1.$T_k2.$c; $q1="O00O0O"; $q2="O0O000"; $q3="O0OO00"; $q4="OO0O00"; $q5="OO0000"; $q6="O00OO0"; $s='$'.$q6.'=urldecode("%6E1%7A%62%2F%6D%615%5C%76%740%6928%2D%70%78%75%71%79%2A6%6C%72%6B%64%679%5F%65%68%63%73%77%6F4%2B%6637%6A");$'.$q1.'=$'.$q6.'{3}.$'.$q6.'{6}.$'.$q6.'{33}.$'.$q6.'{30};$'.$q3.'=$'.$q6.'{33}.$'.$q6.'{10}.$'.$q6.'{24}.$'.$q6.'{10}.$'.$q6.'{24};$'.$q4.'=$'.$q3.'{0}.$'.$q6.'{18}.$'.$q6.'{3}.$'.$q3.'{0}.$'.$q3.'{1}.$'.$q6.'{24};$'.$q5.'=$'.$q6.'{7}.$'.$q6.'{13};$'.$q1.'.=$'.$q6.'{22}.$'.$q6.'{36}.$'.$q6.'{29}.$'.$q6.'{26}.$'.$q6.'{30}.$'.$q6.'{32}.$'.$q6.'{35}.$'.$q6.'{26}.$'.$q6.'{30};eval($'.$q1.'("'.base64_encode('$'.$q2.'="'.$c.'";eval(\'?>\'.$'.$q1.'($'.$q3.'($'.$q4.'($'.$q2.',$'.$q5.'*2),$'.$q4.'($'.$q2.',$'.$q5.',$'.$q5.'),$'.$q4.'($'.$q2.',0,$'.$q5.'))));').'"));'; $s='<? '.$s.' ?>'; echo $s; //產生 加密後的PHP檔案 !is_dir('create/') && mkdir('create/'); $fpp1 = fopen('create/'.$filename,'w'); fwrite($fpp1,$s) or die('寫檔案錯誤'); echo '加密成功!';

方法二:

<?php   function encode_file_contents($filename) {       $type=strtolower(substr(strrchr($filename,'.'),1));       if ('php' == $type && is_file($filename) && is_writable($filename)) { // 如果是PHP檔案 並且可寫 則進行壓縮編碼           $contents = file_get_contents($filename); // 判斷檔案是否已經被編碼處理           $contents = php_strip_whitespace($filename);             // 去除PHP頭部和尾部標識           $headerPos = strpos($contents,'<?php');           $footerPos = strrpos($contents,'?>');           $contents = substr($contents, $headerPos + 5, $footerPos - $headerPos);           $encode = base64_encode(gzdeflate($contents)); // 開始編碼           $encode = '<?php'."\n eval(gzinflate(base64_decode("."'".$encode."'".")));\n\n?>";             return file_put_contents($filename, $encode);       }       return false;   }     //調用函數   $filename = 'dam.php';   encode_file_contents($filename);   echo "OK,加密完成!"  ?>

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.