In meiner iPhone App gibt es einige vertrauliche Daten wie Benutzername, Passwort und einige URLs zu einem Webservice. Welches ist besser NSUserdefaults oder keychain. Jemand sagt NSUserdefaults ist unsicher. Warum ist es unsicher? und kann jeder das Für und Wider von jedem geben.NSUserDefaults oder keychain ist besser, Benutzernamen und Passwort in iPhone App zu speichern
Antwort
NSUserDefaults ist relativ einfach zu verwenden und speichert nur einen Wert pro Taste. Aber anscheinend ist es keine sehr sichere Methode, da es keine Verschlüsselung gibt.
Aber das Schlüsselbund ist sicher, obwohl es ein bisschen schwer zu programmieren ist. Sie können auf diesen Link verweisen, um den Zugriff auf Schlüsselbunde zu verwenden.
http://log.scifihifi.com/post/55837387/simple-iphone-keychain-code
Sie auch diese Bibliothek deviced von Simon Sie
https://github.com/goosoftware/GSKeychain
Ich hoffe, es hilft können !!
Alles, was in NSUserDefaults gespeichert ist, kann (relativ) einfach geöffnet und gelesen werden, egal ob auf dem Gerät oder in einem (unverschlüsselten) Backup auf iCloud oder auf einem synchronisierten Mac.
Keychain, on the other hand, is meant for stuff like certificates and passwords. Ich habe einen Artikel mit dem Titel "Wie man keine Passwörter in iOS speichert" verlinkt, der ein bisschen nützlicheres Detail gibt.
Keychain ist viel bessere Lösung, weil es sicherer ist, aber sowieso, wenn Sie diese Art von Informationen in den NSUserDefaults speichern würden, würden sich Ihre Benutzer nicht anders fühlen. Wenn jemand sein Gerät hacken würde, könnten sie Informationen von Keychain erhalten, genauso wie sie Informationen von UserDefaults erhalten würden. Diese Frage der Sicherheit ist also Rhetorik. Wie auch immer, der gute Programmierstil besteht darin, diese Daten in den Schlüsselbund zu speichern!
Ich würde Ihnen empfehlen, Schlüsselanhänger zu verwenden. Mit Keychain können Sie Ihr Passwort in verschlüsselter Form speichern. Werfen Sie einen Blick auf Apples GenericKeychain Beispiel.
NSUserDefaults ist im Vergleich zu Keychain etwas weniger sicher. In NSUserDefaults kann auf Daten leicht zugegriffen werden, wenn der spezifische Schlüssel bekannt ist. Dies ist bei Keychain nicht der Fall.
Sie können NSUserDefaults auch in Schlüsselbunde konvertieren. Werfen Sie einen Blickhere.
Es kann nützlich sein zu beachten, dass Schlüsselbunddaten auch dann beibehalten werden, wenn Ihre App gelöscht wird. NSUserDefaults-Daten gehen jedoch mit der App verloren (NSUserDefaults ist Teil der App-Sandbox, Keychain ist ein appunabhängiger Dienst).
- 1. python3 - Speichern von Benutzernamen und Hash-Passwort in einem .csv
- 2. Speichern von Authentifizierungs-Tokens auf iOS - NSUserDefaults vs Keychain?
- 3. Speichern UIPrinter zu NSUserDefaults
- 4. Benutzernamen und Passwort in GIT
- 5. Speichern jeder Benutzernamen und Passwort in ein Array
- 6. Speichern einer Kontaktliste zu NSUserDefaults
- 7. Wie speichern Sie mehrere Benutzernamen und Passwort in Cookies C#?
- 8. Wie speichern Sie den Benutzernamen und das Passwort am besten auf dem iPhone?
- 9. Passwort schützen iPhone App
- 10. Wenn Anweisungen und Benutzernamen/Passwort
- 11. Wie kann ich das Passwort auf dem iPhone speichern?
- 12. Android - Beim Speichern eines Bildes ist es besser, es zu speichern oder temporär zu speichern.
- 13. iPhone: Speichern von Audiodaten auf NSUserDefaults und Speicherproblemen
- 14. Versucht, Benutzernamen und Passwort in einer Datenbank zu speichern und überprüfen, ob der Benutzername und das Passwort übereinstimmen
- 15. Preis in PHP speichern. Was ist besser Doppel oder String?
- 16. NSDictionary in NSUserDefaults speichern
- 17. Speichern mehrerer Schlüssel-Wert-Paare in NSUserDefaults
- 18. Speichern und Wiederherstellen von NSMutablearray in NSUserdefaults
- 19. speichern Wörterbuch in NSUserDefaults Swift
- 20. Wird ein Keychain-Passwort von iTunes/iCloud gesichert?
- 21. Passwort-Verschlüsselung in iPhone-Apps
- 22. Wert über KeyChain speichern und abrufen
- 23. Xcode fragt nach dem Passwort um das System Keychain zu verwenden
- 24. Speichern von Benutzername und Passwort in Android App
- 25. NSUserDefaults nicht speichern
- 26. Um den Benutzernamen und das Passwort von Google zu überprüfen
- 27. Login zu Facebook API mit bekanntem Benutzernamen und Passwort
- 28. Speichern von Passwörtern in iPhone-Anwendungen
- 29. Bilder zur Laufzeit in iPhone App speichern
- 30. Realm-Objektunterklasse in NSUserDefaults speichern?
* In NSUserDefaults kann auf Daten leicht zugegriffen werden, wenn der spezifische Schlüssel bekannt ist. Dies ist in Keychain * nicht der Fall. Was meinst du damit? – Honey