koder_
Новичок
Переписываем JS функцию на PHP
Есть код функции на JS:
Это декодирование строки. Появилась необходимость написать это же на PHP
В итоге вышло
В результате моя переписанная функция не всегда (только иногда) работает так же как и JS.
Пример1: тут не соответствие
IN: Erwy~})}#ynF+qrmmnw+)wjvnF+|x|+) ju~nF+;?=;@=@@<;+)8G9
JS: <input type="hidden" name="sos" value="2642747732" />
PHP: Botv{z&z vkC(nojjkt(&tgskC(yuy(&|gr{kC(8<:8=:==98(&5D
Пример2: совпало
IN: Cpuw|{\'{!wlD)opkklu)\'uhtlD)zvz)\'}hs|lD)9=;9>;>>:9)\'6E7
JS: <input type="hidden" name="sos" value="2642747732" />
PHP: <input type="hidden" name="sos" value="2642747732" />
Где же я ошибся?
Есть код функции на JS:
Код:
function _dS(s){
var i;
var r="";
var l=s.length-1;
var k=s.substr(l,1);
for (i=0;i<l;i++){
c=s.charCodeAt(i)-k;
if(c<32){
c=127-(32-c);
}
r+=String.fromCharCode(c);
}
return r;
}
В итоге вышло
PHP:
function sos_decode($code)
{
$ret = '';
$code = stripcslashes($code);
$l = strlen($code)-1;
$k = substr($l,1);
for($i=0;$i<$l;$i++){
$c = ord($code[$i])-$k;
if($c<32){
$c = 127-(32-$c);
}
$ret .= chr($c);
}
return $ret;
}
Пример1: тут не соответствие
IN: Erwy~})}#ynF+qrmmnw+)wjvnF+|x|+) ju~nF+;?=;@=@@<;+)8G9
JS: <input type="hidden" name="sos" value="2642747732" />
PHP: Botv{z&z vkC(nojjkt(&tgskC(yuy(&|gr{kC(8<:8=:==98(&5D
Пример2: совпало
IN: Cpuw|{\'{!wlD)opkklu)\'uhtlD)zvz)\'}hs|lD)9=;9>;>>:9)\'6E7
JS: <input type="hidden" name="sos" value="2642747732" />
PHP: <input type="hidden" name="sos" value="2642747732" />
Где же я ошибся?