Es geht nicht um XOR-Beispiele.
Ich habe schon ein paar Verschlüsselungsprogramme geschieben, aber nie mit PChar.
Ich will einen String den ich mit PChar in eine
DLL mit XOR verschlüsseln.
Ich verwende einen Schlüssel der mit einem Zufallsgenerator erstellt wurde.
Doch ich komme weniger Zeichen zurück. Anders gesagt die Grösse der PChar nicht immer gleich Grosse.
Wenn der Eingangsstring 30 Zeichen hat sollte ich ich auch 30 Zeichen zurück bekommen.
Das kann ich mir nicht erklären.
Gruss
Aurus
Function DLLCKey(A
Char;Faktor:Integer)
Char;
var
intGr :Integer;
intZA :Integer;
intZB :Integer;
IntB1 :Byte;
intB2 :Byte;
strTxt
Char;
strKey
Char;
strTot
Char;
strFak
Char;
const
K1 =16;
begin
Randomize;
strKey :='';
//Zufallsschlüssel erstellen
For intZA :=1 to K1 do
begin
strKey := strKey + Random(255);
end;
intZB := 0;
strTxt := A;
strFak := PChar(IntToHex(Faktor,6));
strTot :=pchar(string(strKey)+ string(strTxt)+string(strFak));
intGr :=Length(strTot);
//Verschlüsseln
For intZA := K1 to intGr - 1 do
begin
inc(intZB);
if intZB > K1 then intZB :=1;
IntB1 := Ord(strTot[intZA]);
intB2 := ORD(strKey[intZB]);
strTot[intZA] :=Char(intB1 XOR intB2);
end;
Result := strTot;
end;