AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

RC4 und Delphi.Net

Ein Thema von skyware · begonnen am 16. Okt 2004 · letzter Beitrag vom 17. Okt 2004
Antwort Antwort
skyware

Registriert seit: 11. Dez 2002
Ort: Wetzikon, Zürich
151 Beiträge
 
Delphi 6 Enterprise
 
#1

Re: RC4 und Delphi.Net

  Alt 16. Okt 2004, 18:56
Hallo Robert,

danke für die prompte Antwort!
Es lässt sich nun kompilieren, hab den Code nochmals angeschaut. Das heisst nun also
das in "Byte(AKey[xU+1])" das xU+1 Zeichen (Char) von AKey als Byte gelesen wird?

Nun versteht ich aber folgende Zeile nicht mehr:
"TByteArray(Dest)[xS] := TByteArray(ASource)[xS] xor FD[xT];"
die lässt sich nämlich auch nicht kompilieren
Und mit "Bytes" scheints auch nicht zu gehen...
Was muss hier getan werden, und was passiert hier genau?


Delphi-Quellcode:
procedure RC4Code(var ARC4: TRC4Context; const ASource; var Dest; ACount: Integer);
var
  xS : Integer;
  xT : Byte;

  xtest : byte;
begin
  with ARC4 do
    for xS := 0 to ACount -1 do
    begin
      Inc(FI);
      xT := FD[FI];
      Inc(FJ, xT);
      FD[FI] := FD[FJ];
      FD[FJ] := xT;
      Inc(xT, FD[FI]);
      {$IFDEF CLR}
      TByteArray(Dest)[xS] := TByteArray(ASource)[xS] xor FD[xT];
      {$ELSE}
      TByteArray(Dest)[xS] := TByteArray(ASource)[xS] xor FD[xT];
      {$ENDIF}
    end;
end;
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:37 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz