ホームページ  >  記事  >  バックエンド開発  >  PHPをエンコードしてJS側でデコードできる機能を探している、解決方法

PHPをエンコードしてJS側でデコードできる機能を探している、解決方法

WBOY
WBOYオリジナル
2016-06-13 12:58:11782ブラウズ

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

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。