Thema: Prism RC4 und Delphi.Net

Einzelnen Beitrag anzeigen

skyware

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

Re: RC4 und Delphi.Net

  Alt 16. Okt 2004, 17: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