Zitat von
TomDooley:
Ich habe zwei Schlüssel (Key1 und Key2) mit xor verknüpft:
Delphi-Quellcode:
for i := 1 to x do
Result[x] := Chr(Byte(Key1[x]) xor Byte(Key2[x]));
Der Resultatstring enthält die richtigen Werte aber eben Bit für Bit:
Beispiel:
Result = #3#3#2#2#3#A#A#A
ich möchte aber:
Result = '33223AAA'
Delphi-Quellcode:
function XorMyKeys(const Key1, Key2: Array of Byte): string;
var
i :Integer;
begin
for i:=Low(Key1) to High(Key1) do
begin
result:=result+Format('%.2x',[Key1[i] xor Key2[i]]);
end;
end;
Ungetestet, Fehlerbehandlung fehlt natürlich auch noch. Ausserdem wird angenommen dass Key1 und Key2 gleich lang sind und den gleichen Indexbereich haben. Hat sicherlich noch Optimierungspotential.
Raus kommt ein String der die Hexäquivalente der XOR-Verschluesselung enthält.
"Tja ja, das Ausrufezeichen... Der virtuelle Spoiler des 21. Jahrhunderts, der Breitreifen für die Datenautobahn, die k3wle Sonnenbrille fürs Usenet.
" (Henning Richter)