日期:2014-05-17  浏览次数:20546 次

求可以php编码及其对应js端解码的函数
js解码的函数需要运行在通过a.php生成的b.html中,加密要求不高,但是不要base64


自己改良过,由于php和js编码不同,造成无法还原



http://topic.csdn.net/u/20121026/21/aa481d57-5268-4377-844a-11e0abf9fdd0.html?seed=358554303&r=80007043#r_80007043
------解决方案--------------------
不知是否符合你的需求
<script>
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);
}
document.write(compile('ab中cd'));
</script>

<?php
echo compile('ab中cd');
function compile($code) {
  $code = array_values(unpack('n*', iconv(strlen('汉')==2 ? 'gbk' : 'utf-8', 'ucs-2', $code)));
  $c[] = $code[0] + count($code);
  for($i=1; $i<count($code); $i++){
    $c[] = $code[$i] + $code[$i-1];
  }
  $r = '';
  foreach($c as $v) {
    if($v < 256) $r .= urlencode(chr($v));
    else $r .= '%u' . strtoupper(dechex($v));
  }
  return $r;
}
GBK环境中结果
f%C3%u4E8F%u4E90%C7 f%C3%u4E8F%u4E90%C7