powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / нужна помощь в переводе куска кода с pascal на PHP
1 сообщений из 1, страница 1 из 1
нужна помощь в переводе куска кода с pascal на PHP
    #39391087
alexg88
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго дня

если не сложно кто владеет двумя языками, перести даный код на PHP

count:=C_LEN;
PWord(@buff[count])^ := random($FFFF)+1; // RND = случайное число
inc(count,C_RND);

buff[count]:=1; // Command = команда
inc(count);
try
FillMemory(@buff[count],5,0);
buff[count]:=strtoint('$'+LOGIN); // LOGIN
i:=1;
except
i:=0;
end;
if 0=i then begin ShowMessage('Íå ïðàâèëüíûé ëîãèí 2!'); exit; end;
inc(count,5);

for i:=0 to $F do keyIn[i]:=random($FF)+1;
CopyMemory(@Buff[count],@keyIn[0],$10); // Key = ключ шифрования
inc(count,$10);

buff[count]:=length(st2); // Size = длина пароля
for i:=1 to buff[count] do buff[count+i]:=ord(st2[i]); // Password = пароль
inc(count,1+buff[count]);
PLongWord(@buff[0])^ := count;

str:='';
for i:=4 to count-1 do str:=str+chr(Buff[i]); // Переводим наш пакет в строку, кроме первых 4 байт(размер пакета)
Encript_rsa(str,str); // шифруем
i:=0;
while i<length(str) do
begin
Buff[4+i]:=ord(str[i+1]);
inc(i);
end;

count:=4+length(str);
PWord(@Buff[0])^ := count; // добавляем длину пакета
inc(cSend);
ClientSocket1.Socket.SendBuf(buff,count); //отправляем пакет

//Получаем ответ на 1 команду
cnt:=socket.ReceiveBuf(s_buff[s_count],3000);
inc(s_count,cnt);

if (C_LEN<s_count) and ( PLongWord(@s_buff[0])^ = s_count ) then // проверяем что длина пакета равна числу полученному в первых 4 байтах (это делается с каждой получаемой командой)
begin
DeCoding(@s_buff[C_LEN],s_count-C_LEN,@keyIn[0]); // расшифровываем пакет не включая длину пакета (это делается с каждой получаемой командой)
s_count:=0;
case s_buff[C_LEN+C_RND+0] of
1 : // если это ответ на первую команду
begin
case s_buff[C_LEN+C_RND+1] of
0 : begin//Memo1.Lines.Add('Connect - OK');

CopyMemory(@keyOut[0],@s_buff[C_LEN+C_RND+2],$10); //сохраняем присланный ключ шифрования

end;
1 : ShowMessage('Connect - Bad Login');
2 : ShowMessage('Connect - LOCK ON');
3 : ShowMessage('Connect - Bad Password');
else ShowMessage('Connect = '+inttostr(s_buff[C_LEN+C_RND+1]));
end;
...
Рейтинг: 0 / 0
1 сообщений из 1, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / нужна помощь в переводе куска кода с pascal на PHP
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]