Вы можете использовать побитовый XOR в javascript для кодирования строки и снова в PHP для ее повторного декодирования. Я написал небольшой пример Javascript для вас. Он работает так же в PHP. Если вы вызовете enc () второй раз с уже закодированной строкой, вы снова получите исходную строку.
<html>
<head><title></title></head>
<body>
<script type="text/javascript">
function enc(str) {
var encoded = "";
for (i=0; i<str.length;i++) {
var a = str.charCodeAt(i);
var b = a ^ 123; // bitwise XOR with any number, e.g. 123
encoded = encoded+String.fromCharCode(b);
}
return encoded;
}
var str = "hello world";
var encoded = enc(str);
alert(encoded); // shows encoded string
alert(enc(encoded)); // shows the original string again
</script>
</body>
</html>
В PHP сделайте что-то подобное (осторожно, это не проверялось и прошло много времени с тех пор, как я делал PHP):
$encoded = "..."; // <-- encoded string from the request
$decoded = "";
for( $i = 0; $i < strlen($encoded); $i++ ) {
$b = ord($encoded[$i]);
$a = $b ^ 123; // <-- must be same number used to encode the character
$decoded .= chr($a)
}
echo $decoded;