Maison  >  Article  >  développement back-end  >  求可以php编码及其对应js端解码的函数,该如何解决

求可以php编码及其对应js端解码的函数,该如何解决

WBOY
WBOYoriginal
2016-06-13 12:58:11782parcourir

求可以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><br />
function compile(code) {      <br />
  var c=String.fromCharCode(code.charCodeAt(0)+code.length);<br />
  for(var i=1;i<code.length;i++){<br />
    c+=String.fromCharCode(code.charCodeAt(i)+code.charCodeAt(i-1));<br />
  }<br />
  return escape(c);<br />
}<br />
document.write(compile('ab中cd'));<br />
</script><br />
<br />
<?php<br />
echo compile('ab中cd');<br />
function compile($code) {<br />
  $code = array_values(unpack('n*', iconv(strlen('汉')==2 ? 'gbk' : 'utf-8', 'ucs-2', $code)));<br />
  $c[] = $code[0] + count($code);<br />
  for($i=1; $i<count($code); $i++){<br />
    $c[] = $code[$i] + $code[$i-1];<br />
  }<br />
  $r = '';<br />
  foreach($c as $v) {<br />
    if($v < 256) $r .= urlencode(chr($v));<br />
    else $r .= '%u' . strtoupper(dechex($v));<br />
  }<br />
  return $r;<br />
}<br />
GBK环境中结果
f%C3%u4E8F%u4E90%C7 f%C3%u4E8F%u4E90%C7

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn