本文实例讲述了php实现源代码加密的方法。分享给大家供大家参考。具体实现方法如下:
<?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程序设计有所帮助。
评论列表:
发布于 3天前回复该评论
发布于 3天前回复该评论
发布于 3天前回复该评论
发布于 3天前回复该评论
发布于 2天前回复该评论
发布于 2天前回复该评论
发布于 2天前回复该评论
发布于 2天前回复该评论