Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 17.08.2013, 20:33
Профессор
Отправить личное сообщение для greenwar Посмотреть профиль Найти все сообщения от greenwar
 
Регистрация: 19.08.2010
Сообщений: 150

JS в ПХП или перл
добрый вечер!
вот эту строку в PHP или Perl кто-то может перевести?
edata = edata + String[fromCharCode](data['data'][charCodeAt](i) ^ key[charCodeAt](i % key[length]))

edata,key,i - переменные
data - И массив И переменная

подозреваю, что читабельно она выглядит так:
String.fromCharCode(data['data'].charCodeAt(i) ^ key.charCodeAt(i % key.length))


эта строка в цикле:
for (var i = 0; i < data['data'].length; i++) {}

а цикл в условии:
if ('data' in data) {}

Последний раз редактировалось greenwar, 17.08.2013 в 21:39.
Ответить с цитированием
  #2 (permalink)  
Старый 17.08.2013, 21:20
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от greenwar
data - массив
И что тогда это значит: data[data] ? Матрешка чтоли?

И что за переменные fromCharCode, charCodeAt, length?
Ответить с цитированием
  #3 (permalink)  
Старый 17.08.2013, 21:30
Профессор
Отправить личное сообщение для greenwar Посмотреть профиль Найти все сообщения от greenwar
 
Регистрация: 19.08.2010
Сообщений: 150

Сообщение от danik.js Посмотреть сообщение
И что тогда это значит: data[data] ? Матрешка чтоли?

И что за переменные fromCharCode, charCodeAt, length?
data там есть массив, а есть переменная, я просто кавычки забыл
эта строка в цикле:
for (var i = 0; i < data['data'].length; i++) {}
а цикл в условии:
if ('data' in data) {}

http://javascript.ru/String/charCodeAt
http://javascript.ru/String.fromCharCode
про length не знаешь?

key[charCodeAt](i % key[length])
эта строка например читается так:
key.charCodeAt(i % key.length)

в остальных просто не уверен, как правильно будет, поэтому оставляю профи
как-то так наверное:
String.fromCharCode(data['data'].charCodeAt(i) ^ key.charCodeAt(i % key.length))

Последний раз редактировалось greenwar, 17.08.2013 в 21:38.
Ответить с цитированием
  #4 (permalink)  
Старый 17.08.2013, 22:08
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от greenwar
про length не знаешь?
Че ты передергиваешь. У тебя в коде было key[length], а не key.length. Ты че, не видишь чтоли разницу?
Ответить с цитированием
  #5 (permalink)  
Старый 17.08.2013, 22:35
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

$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);
Ответить с цитированием
  #6 (permalink)  
Старый 17.08.2013, 23:11
Профессор
Отправить личное сообщение для greenwar Посмотреть профиль Найти все сообщения от greenwar
 
Регистрация: 19.08.2010
Сообщений: 150

Сообщение от danik.js Посмотреть сообщение
$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;
угу, у меня также
но результат нужный не даёт
спасибо
Ответить с цитированием
  #7 (permalink)  
Старый 17.08.2013, 23:15
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от greenwar
но результат нужный не даёт
Тебе нужно установить модуль mind_reader.so
Ответить с цитированием
  #8 (permalink)  
Старый 17.08.2013, 23:40
Профессор
Отправить личное сообщение для greenwar Посмотреть профиль Найти все сообщения от greenwar
 
Регистрация: 19.08.2010
Сообщений: 150

ну data это такого вида код:
Цитата:
hX8L^^\u0002@[ZUN\\}\u0003\u0003\u001e\u0013\u0014GB,QG\t_B\u001 4PQ\u0016\u0004t\u0006\u001dTvFQP\u0006A\u0016\u00 1d\u0003\u0002G_khs\u0005\"LFz\u0013vwCG|WA\u0014/\u0012}\n\\\u001etMdm\u001f\t\u0010\u001agX\u001a> LG2r\u0007P\u0017~\u001b\u001d\u0006|\u0010.\u001f >\u000f=EcB\u0001j\u000b/Cdz1jp{5\u0015\u0012rl(,]\"IzgkP\u0007igw;\u0013\u0015yw\u000f\u0001J|vL\u0 00epB\u0003{f\n\nv|f\u001d\u0017jjszV \rWWN=\u0004\u0013$}Ct\u0002\u001d R\u0012 \bA$!Gp\u0000\u001cpp\u001d\t__+^I%\u001f\u0010lr\ u0005lh\u0014s\u000e\u0005\u0011RP,0P\u0005\u0014s ZFw\u0007\u0010u\rC\u0006\"FPU\u001f@GV[\u001dHike\u0013Q[V\u000frd\u0007%Pyp\bCpR#]\u0014\b\u0007Zsl2MQ\\LL\b6H\u0016ee\u0010Pqij\nW! \u001d5\u0014$\u001ev\u0003tU\u0000\u000e\u001d[$ha\u001dPhg!\u001c^\"''\u001eLJT]l\u001e@\u0001|uw\\\u0004c,>(YJ\ntL\u0005Buy7,ka\n s\n\u0016z}\u0005)\u001c\fL\u0017\u000b;NK\u0006\u 0013UyC\u0007p\u001dPQR\b]\tCWP\u0011\u0003x\u0017\u0007\n=\u0007\b\b\u001f\ t\u0012\n\u0007\u001c\u0015\u0012k}\u0003\u0003XO; \u0016\u0010\u0000\u0000P\t\u0007\u0014\u0002#F\u0 004u\u0010\u0005\n\u0005Z\r\u0017\u0007\u000bZ][TI\u0000;|o\u0014\u0013T+V\n\u0004$Y\u0003\u0018k\ u0000\u001fTqvj\nKD[\u000e9zAZF\\{\bXhN\\9#P\fFij\n\u0011}2dD\bOa\u000 3c4\u0003jyYC\tgzMhp\u0006C\u0015\u0014\u0007lXY]\"Hz\u001dbP\u0007hg\rH\u0013\u0015yw\u000fuJ|vL\u 000etB\u0003{f\n\fv|f\u001d\u0017gj\u0005zV&\tW]~N=\u0004\u0013$}C\u0002\u0002\u001d&R\u0012\\\tA\ "UGvr\u001cv\u0005\u001d\u000f*_-\\I#\u001d\u0010j\u0000\u0005j\u001d\u0014u\u000b\ u0005\u0017!P\\DPx\u0007\u0014p Fw\u0007\u0010uyCqSF \u000b<YC.q_\u001djst!L7\b\u0013\u0003pC1\u0017\u0 015Ags\u001d;\u0015\u0010,fz1PF-\n\b(\u0018\b\u0001er\u0007!\u0017~j\u001d\u0006x\ u001d#\u0002:O`sc5\u0001j\u0000^CtbzGl; \u0000@sp{O[;CJmkiCfkr\u0010=\u0006t\u000b\u0014hp_\u001d\u000 4,i\u0000Wb\t\u0002m\nc\u001d\u0014\bp\u001b\u0012 \bDG|B@\r.\\p\u0006CzT\u0015\u0000\bG'\u0007AzVCWR \u0011t\t\u0017w{h+JL.YDk\u0004\u000b\b\u0011\r\u0 01c\u0000\u0014\u0003fp&DKLC\u001e\u0007\u0003\u00 14W'\u0016\u0005v\u0012\nTA\u0002
(начало одинаковое всегда)

тот цикл перебирает его побайтово и результат складывает в строку, на которой JS делает:
edata = decodeURIComponent(edata);

и получаем читаемую строку
но строка должна иметь подобие читаемой ещё ДО unescape по идее

Последний раз редактировалось greenwar, 17.08.2013 в 23:46.
Ответить с цитированием
  #9 (permalink)  
Старый 18.08.2013, 00:13
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Дык у тебя в строке unicode последловательноси (\uxxxx). Такого нет в PHP. Прогони строку через json_decode() .
Ответить с цитированием
  #10 (permalink)  
Старый 18.08.2013, 17:12
Профессор
Отправить личное сообщение для greenwar Посмотреть профиль Найти все сообщения от greenwar
 
Регистрация: 19.08.2010
Сообщений: 150

я делаю так
сам json у меня в файле
Цитата:
{"data":"hX8L^^\u0002@[ZUN\\}\u0003 ....
заканчивается "}
делаю
Цитата:
$filename = 'JSON.src';
$handle = fopen($filename,'r');
$answer = fread($handle, filesize($filename));
fclose($handle);

$obj = json_decode($answer);
$l = $obj->data;
и на последнюю строку он мне ругается:
Цитата:
PHP Notice: Trying to get property of non-object in script.php on line 18
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
БД, JS и PHP или как всё это сложить lazerru Общие вопросы Javascript 2 15.04.2013 17:20
Подгрузка JS + ajax... afr0 AJAX и COMET 8 10.04.2013 14:38
учебник или статья по user js HaGerouHe Javascript под браузер 2 30.01.2012 17:16
Нужна помощь Кто розбирается в js и кто поможет переделать его или создать заново Starpomlom Javascript под браузер 10 26.12.2011 14:46
Стоит ли учить JS? Или что то другое? aleks_valery Элементы интерфейса 1 06.08.2010 19:33