Witam :)
Mam prośbę do wszystkich otóż piszę aplikację klient/serwer, która ma przesyłać dane ( i tu w sumie nie ma żadnego problemu) korzystając z jakiegos alg. kryptograficznego. na razie jedynym typem kodowania jest u mnie XOR no ale niestety nie o takie kodowanie chodzi. Oto część kodu po stronie serwera odpowiedzialna za przesyłanie danych:
if comm = 'copy' then
begin
MainForm.LogList.Items.Add(DateTimeToStr(Now) + ': COPY command');
Wyslij(Klienci[PInt^], 'ok' + EOL); // potwierdza otrzymanie polecenia 'kopiuj'
comm := Pobierz(Klienci[PInt^], Size); // odczytuje nazwę pliku do kopiowania
pozycja := 0;
AssignFile(plik, RootDir + '\' + comm);
Reset(plik, 1);
Wyslij(Klienci[PInt^], IntToStr(FileSize(plik)) + EOL);
repeat
Seek(plik, pozycja);
BlockRead(plik, pakiet, sizeof(pakiet), odczytane);
if odczytane > 0 then
begin
Wyslij(Klienci[PInt^], 'cont' + EOL);
comm := Pobierz(Klienci[PInt^], Size);
Paczka.toSave := odczytane;
for i := 0 to buffer do
begin
// Tutaj następuje kodowanie zo zmiennej Paczka.data
// Wykorzystałem tutaj naprostrze , czyli xor
code := ord(pakiet[i]);
code := code xor 1;
Paczka.data[i] := chr(code);
//Paczka.data[i] := pakiet[i];
end;
send(Klienci[PInt^], Paczka, SizeOf(Paczka), 0); // wysyła 'porcje' pliku
pozycja := pozycja + odczytane;
comm := Pobierz(Klienci[PInt^], Size); // czeka na potwierdzenie zapisania otrzymanych danych
end;
until odczytane = 0;
CloseFile(plik);
Wyslij(Klienci[PInt^], 'end' + EOL); // zakończenie operacji
comm := Pobierz(Klienci[PInt^], Size); // czeka na potwierdzenie
end;
Chciałbym żeby zamiast XOR-a przesyłane dane były kodowane np. algorytmem RC5. Będę bardzo wdzięczny za pomoc i wszelkie podpowiedzi jak tego RC5 zaimplementować w programie żeby to działało :)
// pisz tematy, które coś mówią, i formatuj kod - Ł