Переведите на ПХП

Sirius

PHP+MySQL=LOVE
Переведите на ПХП

Переведите если не трудно следующие строки или хотя бы объясните, что они значат:

x[len >> 5] |= 0x80 << (12 - len % 16);
x[((len + 32 >> 9) << 4) + 15] = len;
w[j] = rol(w[j-3] ^ w[j-8] ^ w[j-14] ^ w[j-16], 1);
return (b & c) | ((~b) & d);
return (num << cnt) | (num >>> (32 - cnt))
bin[i>>5] |= (str.charCodeAt(i / chrsz) & mask) << (12 - i%16);
hex_tab.charAt((binarray[i>>2] >> ((3 - i%2)*4 )) & 0xF);

Спасибо заранее...
 

Demiurg

Guest
первожу:
echo 'x[len >> 5] |= 0x80 << (12 - len % 16);
x[((len + 32 >> 9) << 4) + 15] = len;
w[j] = rol(w[j-3] ^ w[j-8] ^ w[j-14] ^ w[j-16], 1);
return (b & c) | ((~b) & d);
return (num << cnt) | (num >>> (32 - cnt))
bin[i>>5] |= (str.charCodeAt(i / chrsz) & mask) << (12 - i%16);
hex_tab.charAt((binarray[i>>2] >> ((3 - i%2)*4 )) & 0xF);';

зы ты бы хотя бы сказал, что это за язык.
 

Ямерт

The Old One
Судя по методам объектов это либо Java либо Javascript...
В чём, собссна, проблема-то? Берёшь мануал по тому или этому, читаешь про операторы, классы, и копаешь, что всё это значит.
 

Sirius

PHP+MySQL=LOVE
Ну конечно это javascript :)

Я в мануале не понял всего - из 500 строк кода вот эти строки и не могу понять :)

Эти строки из функции на джаваскрипт, которая делает мд5...
 

Demiurg

Guest
конкретнее, что именно не понятно ?
только надо говорить "все"
 

voodoo

Новичок
0x80, 0xF -- это шестнадцатиричное представление чисел. в пхп тоже так можно. Например, echo 0xF выдает 15, что и требовалось.
>> 5 -- смещение на 5 битов вправо. Т.е. из 100000 в двоичной записи получится 1. типа число "делится" на 2 в 5-ой степени ;). В пхп опять же есть

>>> -- то же что предыдущее, только с заполнением нулями слева.
 
Сверху