Wie zu verwenden CCCrypt() um eine Datei zu verschlüsseln?
wenn ich eine Datei verschlüsseln(doc, pdf, etc.), Ich benutze:
size_t bufferSize = dataLength + kCCBlockSizeAES128;
CCCrypt( kCCEncrypt, kCCAlgorithmAES128, kCCOptionPKCS7Padding,
keyPtr, kCCKeySizeAES256,
NULL /* initialization vector (optional) */,
dataBytes, dataLength, /* input */
buffer, bufferSize,/* output */
&numBytesEncrypted );
beim entschlüsseln, benutze ich:
size_t bufferSize = dataLength + kCCBlockSizeAES128;
CCCryptorStatus result = CCCrypt( kCCDecrypt, kCCAlgorithmAES128, kCCOptionPKCS7Padding,
keyPtr, kCCKeySizeAES256,
NULL /* initialization vector (optional) */,
dataBytes, dataLength,/* input */
buffer, bufferSize,/* output */
&numBytesEncrypted );
Aber beim entschlüsseln, es gibt Fehler:kCCDecodeError = -4304.
Wenn ich entfernen Sie die param von kCCOptionPKCS7Padding beim entschlüsseln, ist es kein Fehler. Aber die Datei kann nicht geöffnet werden.
So, könnte u mir sagen, wie gehen diese params?
vielen Dank!
InformationsquelleAutor iphoner | 2011-04-06
Du musst angemeldet sein, um einen Kommentar abzugeben.
Diese für die Verschlüsselung
dies ist für die Entschlüsselung
aber es funktionierte für mich...
Sie prüfen nicht CCCryptorStatus, wenn Sie Sie verschlüsseln. Sind Sie sicher, dass es funktioniert? Auch, wie Sie schaffen, die "Puffer". Ist es basierend auf der bufferSize?
Die Ableitung eines Schlüssels aus einem string über NSString ist durchaus eine knifflige Angelegenheit. Weil ein char byte hat in der Regel viele führende null und setzen eine Menge Nullen in Ihrem AES-Schlüssel. IOS bietet eine anständige key-derivation-Algorithmus, wie hier beschrieben, stackoverflow.com/questions/8569555/...
InformationsquelleAutor Inder Kumar Rathore
Ändern Sie die Zeile
zu
Dank Inder
InformationsquelleAutor Abhilash
OK, ich habe es! Haben auch getestet, erfolgreich. Die Zeile sollte sein:
InformationsquelleAutor william.shark