Я работаю над приложением OSX, использующим Objective-C, и одна из вещей, которые мне нужно сделать, - это читать текстовые / xml-файлы, которые были зашифрованы на компьютере Windows с использованием простого алгоритма битового сдвига. Код шифрования на стороне Windows довольно прост, в Delphi:
const
EncryptKey : word = ????;
var
InMS : TMemoryStream;
cnt : Integer;
c : byte;
begin
InMS := TMemoryStream.Create;
result := TMemoryStream.Create;
try
InMS.LoadFromFile( FileName );
InMS.Position := 0;
for cnt := 0 to InMS.Size - 1 do
begin
InMS.Read( c, 1 );
c := ( c xor not ( ord( EncryptKey shr cnt ) ) );
result.Write( c, 1 );
end;
finally
InMS.Free;
end;
end;
Проблема в том, что я не могу понять, как правильно читать и расшифровывать это на стороне Mac. Я пробовал разные подходы к использованию NSData, но безуспешно.
Любая помощь или предложения будут с благодарностью.