$edata = '';
$data = array('data' => '123');
$key = 'key';
for ($i = 0; $i < 5; $i++) {
$edata = $edata . chr(ord($data['data'][$i]) ^ ord($key[$i % strlen($key)]));
}
echo $edata;
Этот код выдает
ZWJke
Проверим:
var edata = '';
var data = {data: '123'};
var key = 'key';
for (var i = 0; i < 5; i++) {
edata = edata + String.fromCharCode(data['data'].charCodeAt(i) ^ key.charCodeAt(i % key.length));
}
alert(edata);