高手帮忙下面JS代码换成PHP,谢谢了

<script> 
function uncompile(code){ 
  code=unescape(code); 
  var c=String.fromCharCode(code.charCodeAt(0)-code.length); 
  for(var i=1;i <code.length;i++) c+=String.fromCharCode(code.charCodeAt(i)-c.charCodeAt(i-1)); 
  return c; 
} function compile(code)
{
var c=String.fromCharCode(code.charCodeAt(0)+code.length);
for(var i=1;i<code.length;i++){ 
   c+=String.fromCharCode(code.charCodeAt(i)+code.charCodeAt(i-1)); 
}
return escape(c);
}var codeded = compile("");
document.write(codeded)
</script>

解决方案 »

  1.   


    function uncompile($code){
      return urldecode($code);
    }function compile($code){
      return urlencode($code);
    }
      

  2.   

    这么简单吗??怎么弄成打开.php就直接显示加密后的结果啊??
      

  3.   


    <?php
    function uncompile($code){
      return urldecode($code);
    }function compile($code){
      return urlencode($code);
    }
    echo "<p>".compile("实例被编码的字符串")."</p>";
    echo "<p>".uncompile("实例被编码的字符串")."</p>";
    ?>
      

  4.   


    什么意思??不懂,我就是用这个PHP加密后生成的代码,放到解密里解,解出来不是加密前的文字
      

  5.   

    而且跟我JS加密生成的码也不一样
    同样的文字
    JS:%u5BA7%uAB29%uD836%u07C1%uF717%uEE85%uD1DB%uD67D%uC958
    PHP:%CA%B5%C0%FD%B1%BB%B1%E0%C2%EB%B5%C4%D7%D6%B7%FB%B4%AE
      

  6.   

    因为js那些字符处理函数都是以unicode码为标准的。
    只处理英文的话就简单,因为各个编码集对ascii码基本都是兼容的,中文就麻烦了,必须将中文转成相应的unicode码,这里有个问题,原中文编码有可能是gbk的,有可能是utf-8的,也就是说中文有可能是两个字节的,有可能是3个字节的。
    比如js里alert("中国".length)必然是4,因为unicode码中文占两个字节,而php里strlen("中国")在utf-8下是6,gbk下是4。
      

  7.   


    就是说PHP做不到这样的加密是吗??????/