0
Objective-Cを使用してOSXアプリケーションを作成していますが、Windowsマシンで単純なビットを使用して暗号化されたtext /シフトアルゴリズム。 Windowsの側の暗号化コードは、Delphiで、非常に簡単です:Objective-c:Windows上で暗号化されたファイルを読み取る
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を何も成功させずに使うために様々なアプローチを試みました。
何か助力や提案をいただければ幸いです。
ありがとうございます。私はそれを通って作業し、結果、質問などを取り戻す時間がかかります。 –
私はついに、座って働かせる時間がありました。コードは大きな助けとなりました。 1つのメモ;ビットごとのNOT演算子は**〜**ではなく**!**です。コードは次のようになります。 NSMutableData * fileData = [NSMutableData dataWithContentsOfFile:dataPath]; UInt16 currentCipher = ????; unsigned char * bytes =(符号なしchar *)malloc([fileData長さ]); [fileData getBytes:bytes]; (int i = 0; i <[fileData length]; i ++){ bytes [i]^=〜(currentCipher >> i); } [ファイルデータsetData:[NSMutableData dataWithBytes:バイト長:[ファイルデータ長]]]; もう一度ありがとうございます。 –