|
нужна помощь в переводе куска кода с pascal на PHP
|
|||
---|---|---|---|
#18+
Доброго дня если не сложно кто владеет двумя языками, перести даный код на 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; ... |
|||
:
Нравится:
Не нравится:
|
|||
25.01.2017, 13:41 |
|
|
start [/forum/topic.php?fid=23&fpage=37&tid=1460788]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
30ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
29ms |
get tp. blocked users: |
1ms |
others: | 285ms |
total: | 391ms |
0 / 0 |