Ich erstelle eine neue iOS-App, die Verschlüsselung verwendet. Die Methode, die ich verwendet habe, benötigt einen eindeutigen Schlüssel zum Verschlüsseln. Wie:Was ist der beste Weg, um einen eindeutigen Schlüssel zu erstellen und dauerhaft zu verschlüsseln?
- (NSData *)AES256EncryptWithKey:(NSString *)key;
Derzeit verwende ich NSUUID die eindeutige ID zu generieren:
[[NSUUID UUID] UUIDString]
und die ID-Speichern der KeychainItemWrapper mit:
[keychainItem setObject:[[NSUUID UUID] UUIDString] forKey:(id)kSecAttrService];
Die eindeutige ID wird in einigen erzeugt Moment, wenn der Benutzer die App zum ersten Mal öffnet.
Ich frage mich, ob es einen besseren Weg gibt. Danke für jede Hilfe.
Es kann nicht garantiert werden, dass NSUUID zufällige Ergebnisse liefert. In der Tat ist es vernünftig zu glauben, dass zu etwas, das auf einem bestimmten Gerät eindeutig identifiziert werden soll, deterministische Elemente vorhanden sein können. Wenn Sie einen zufälligen Schlüssel mit der angegebenen Bitlänge erzeugen möchten, sollten Sie viele zufällige Bits generieren. Sehen Sie sich [Randomization Services-Referenz von Apple] an (https://developer.apple.com/library/ios/documentation/Security/Reference/RandomizationReference/index.html#//apple_ref/doc/uid/TP40007281) – Palpatim