Buenas,
Resulta que tengo una aplicación en Delphi que me genera un fichero con una serie de cadenas con una simple encriptación XOR mediante esta función:
Código Delphi
[-]
function DecryptString(const ToDecript: string; Key: Word): string;
var
I: byte;
begin
Result := '';
RandSeed := Key;
for i := 1 to Length(ToDecript) do
Result := Result + Chr(Ord(ToDecript[i]) xor Random(256));
end;
El fichero encriptado lo voy a leer desde C++ y estoy intentando traducir esta función a C++ pero sin demasiada suerte
Código:
AnsiString __fastcall DecryptString(AnsiString ToDecript, unsigned int Key)
{
AnsiString Result = "";
RandSeed = Key;
for (int i=1; i<=ToDecript.Length(); i++)
{
Result = Result + (((unsigned _int8)ToDecript[i]) ^ random(256));
}
return Result;
}
La cuestión es que al intentar desencriptar los datos, no me devuelve la cadena esperada.
Alguien puede hacerme la luz diciéndome dónde tengo el error? Gracias