The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"перенести функцию json_decode из PHP в Perl"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Программирование под UNIX (Perl)
Изначальное сообщение [ Отслеживать ]

"перенести функцию json_decode из PHP в Perl"  +/
Сообщение от greenwar (ok) on 09-Авг-13, 13:44 
приветы!
есть в PHP функция json_decode
вот она тут используется:

$obj = json_decode($answer);
$l = $obj->data;
$h = substr($useragent, 0, 25) . $fuid01 . 'I keep watch over you ;)';
$str = "";
for ($g = 0; $g < strlen($l); $g++)
   {
   $str.= chr(ord($l[$g]) ^ ord($h[$g % strlen($h)]));
   }
echo urldecode($str);


PHP не знаю, мне бы весь этот код в перл, но на чудо не рассчитываю, надеюсь хотя бы на функцию :)

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "перенести функцию json_decode из PHP в Perl"  +/
Сообщение от ACCA (ok) on 09-Авг-13, 15:12 
> PHP не знаю, мне бы весь этот код в перл, но на
> чудо не рассчитываю, надеюсь хотя бы на функцию :)

use JSON;
use URI::Escape;

my $obj = decode_json($answer);
my $l = $obj->{data};
my $h = substr($useragent, 0, 25) . $fuid01 . 'I keep watch over you ;)';
my $str = "";
for (my $g = 0; $g < strlen($l); $g++)
   {
   $str.= chr(ord($l[$g]) ^ ord($h[$g % strlen($h)]));
   }
print uri_unescape($str);

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

3. "перенести функцию json_decode из PHP в Perl"  +/
Сообщение от greenwar (ok) on 09-Авг-13, 16:09 
>[оверквотинг удален]
> my $obj = decode_json($answer);
> my $l = $obj->{data};
> my $h = substr($useragent, 0, 25) . $fuid01 . 'I keep watch
> over you ;)';
> my $str = "";
> for (my $g = 0; $g < strlen($l); $g++){
>    $str.= chr(ord($l[$g]) ^ ord($h[$g % strlen($h)]));
> }
> print uri_unescape($str);

что-то не пашет..
$l это ведь на самом деле @l - массив
в противном случае ошибки сыпет
а так ничего не сыпет, но и не выводит :(
$h тоже ведь массив? ord($h[$g % strlen($h)])
strlen заменил на length

в @l набираются преобразованные данные, но всё ещё не читаемые
а вот в $str уже ничего не набирается, кроме символа %
что означает ^ в пхп ?
$i почему-то дальше 0 не идёт, хотя 'print scalar @l' выдаёт 1104
$i[25] например uninitialized
похоже $l это всё-таки строковая переменная, но как понимать $l[$g] - непонятно

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

4. "перенести функцию json_decode из PHP в Perl"  +/
Сообщение от ACCA (ok) on 10-Авг-13, 09:26 
> $i[25] например uninitialized
> похоже $l это всё-таки строковая переменная, но как понимать $l[$g] - непонятно

Да, тщательнее нужно было. Пробуй так:


use warnings;
use strict;
use JSON;
use URI::Escape;

my $obj = decode_json($answer);
my $l = $obj->{data};
my $h = substr($useragent, 0, 25) . $fuid01 . 'I keep watch over you ;)';
my $str = "";
for (my $g = 0; $g < strlen($l); $g++)
{
   $str.= chr(ord(substr($l,$g,1)) ^ ord(substr($h, $g % strlen($h),1) ));
}
print uri_unescape($str);


Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

5. "перенести функцию json_decode из PHP в Perl"  +/
Сообщение от greenwar (ok) on 10-Авг-13, 11:22 
>[оверквотинг удален]
> my $l = $obj->{data};
> my $h = substr($useragent, 0, 25) . $fuid01 . 'I keep watch
> over you ;)';
> my $str = "";
> for (my $g = 0; $g < strlen($l); $g++)
> {
>    $str.= chr(ord(substr($l,$g,1)) ^ ord(substr($h, $g % strlen($h),1) ));
> }
> print uri_unescape($str);
>

да, так получше, но раскодирования всё-равно не происходит
он выдаёт это:

fwa@D8Cg7TD/WWAMUJ,U1p" (:      ['n)b"f&14~Ql;("z\
                                                  ftG▒kH</{32URm/Om1cpru&*i.V04j▒Jh9Y4m0tx@HO",}7\C#▒qa`*BA(jj@]~zhE8t,LV
2*J#n
     216#y"l^b#*8bA
!)WE               %
    Tm&.__+
▒&Yy 2b+"WAEV)hyn>Ogj4:{
=Ol▒RzNqn5VR-S.n;/M"*(,IF4x▒+F`'?9vM633)sj^$4K'is▒j!D/Ly
                                      C6b!{$a@qx+pzE7|k▒@uQQG6c`o4<2<Gv2F#[N&{
                                                                                )3D{}1SBQ8gs▒[4▒5fKbg3(~if;2?i.4?u<;r4o!dk0j▒&o=
                                                                                                                                %~`j&
b,-}|_j,u|s.G3uYln?B*],fM;
9=fLBNn|E1N)/wqg8)
^b)%UQ+

g0n
   D35<`_F;% 3ZcB[M0Dgdcvq~ >?9N?c3>~OVljTj▒jM]^n=VX1mB&▒dh/5A*q;rKz&8I?ou`_43~v>z>}z%uS!gP(!;
lAyhjr'▒v\;1h(
}jg<&/fcD{    lqw'iSt:8[
> -KF::chEo@53H~ g|bK2xsLv,     Q.&Ckn4D

INq
rb"jS|*)jkvMZSn+yy'hDBQ6j'Z}HAf jB;OAZvh*5#;9P'6Mfhmpt`4rrbuMu?>
!lo?+f'WM6#*Q=Xq%K)>W\v$,6m5@tpr#H.e,▒]T{X2C{?rbYx5ONX3,Gl"\+?m!JfxdM}(?uMQO`?#0d|=+5[YX6^35lx`3`JDR4Qo e
e+0\*g79"mkud?1MANS"+p$
                       d4Z/QrI-CTw6?9ii▒o0n&'r▒|7yM3ZGC$;zGn@Irr*y AQPD[`O0T:{wZ3K>qy_]O3qa~<+_

                                                                                               "kP      .'▒L#0=1Pr_
                                                                                                                   Om@`W*d?dq9EC;QIKC</{U~      bmx(cqe|!Dx5M&*sP bxxi&%ur>?l-tSb$=0|111R▒<qU"Zi\w6s!2]:{'!|YO|m_"@\!_]4IJ0A:q-*_k$"&FnhRECs\'▒2&!/grhrK{<.lv▒&
)2c6<
{n~\AxPm._

а это должен быть текст, причём на русском

Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

6. "перенести функцию json_decode из PHP в Perl"  +/
Сообщение от ACCA (ok) on 11-Авг-13, 21:34 
> да, так получше, но раскодирования всё-равно не происходит
> он выдаёт это:
>
fwa@D8Cg7TD/WWAMUJ,U1p" (:      ['n)b"f&14~Ql;("z\ 

Смотри, что у тебя в $h, особенно смотри на $useragent и $fuid01

Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

7. "перенести функцию json_decode из PHP в Perl"  +/
Сообщение от greenwar (ok) on 11-Авг-13, 21:41 
>> да, так получше, но раскодирования всё-равно не происходит
>> он выдаёт это:
>>
fwa@D8Cg7TD/WWAMUJ,U1p" (:      ['n)b"f&14~Ql;("z\ 
> Смотри, что у тебя в $h, особенно смотри на $useragent и $fuid01

да не, там всё ок, на самом деле код рабочий
он оказывается и на пыхе тоже самое выдаёт ^^
спасибо за помощь, буду дальше копать

Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

2. "перенести функцию json_decode из PHP в Perl"  +/
Сообщение от Etch on 09-Авг-13, 15:13 
http://search.cpan.org/~makamaka/JSON-2.59/lib/JSON.pm
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру