高手帮忙下面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>
,
<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>
function uncompile($code){
return urldecode($code);
}function compile($code){
return urlencode($code);
}
<?php
function uncompile($code){
return urldecode($code);
}function compile($code){
return urlencode($code);
}
echo "<p>".compile("实例被编码的字符串")."</p>";
echo "<p>".uncompile("实例被编码的字符串")."</p>";
?>
什么意思??不懂,我就是用这个PHP加密后生成的代码,放到解密里解,解出来不是加密前的文字
同样的文字
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
只处理英文的话就简单,因为各个编码集对ascii码基本都是兼容的,中文就麻烦了,必须将中文转成相应的unicode码,这里有个问题,原中文编码有可能是gbk的,有可能是utf-8的,也就是说中文有可能是两个字节的,有可能是3个字节的。
比如js里alert("中国".length)必然是4,因为unicode码中文占两个字节,而php里strlen("中国")在utf-8下是6,gbk下是4。
就是说PHP做不到这样的加密是吗??????/