En mi aplicación de iPhone hay algunos datos confidenciales como nombre de usuario, contraseña y algunas URL a un servicio web. Cuál es mejor NSUserdefaults o keychain. Alguien dice que NSUserdefaults es inseguro. ¿Por qué es inseguro? y cualquiera puede dar los pros y contras de cada uno.NSUserDefaults o llavero es mejor para guardar el nombre de usuario y la contraseña en la aplicación de iPhone
Respuesta
NSUserDefaults es bastante fácil de usar y almacena un valor por clave solamente. Pero aparentemente, no es un método muy seguro, ya que no hay encriptación.
Pero el llavero es seguro, aunque es un poco difícil de codificar. Puede consultar este enlace para utilizar el acceso a la llave.
http://log.scifihifi.com/post/55837387/simple-iphone-keychain-code
también se puede utilizar esta biblioteca deviced por Simon
https://github.com/goosoftware/GSKeychain
espero que le ayuda !!
Cualquier cosa almacenada en NSUserDefaults puede abrirse y leerse (relativamente) fácilmente, ya sea en el dispositivo o en una copia de seguridad (no encriptada) en iCloud o en una Mac sincronizada.
Keychain, on the other hand, is meant for stuff like certificates and passwords. He vinculado un artículo titulado "Cómo no almacenar contraseñas en iOS", que también proporciona detalles un poco más útiles.
El llavero es una solución mucho mejor, porque es más seguro, pero de todos modos, si guardara este tipo de información en NSUserDefaults, sus usuarios no se sentirían diferentes. Si alguien piratea su dispositivo, podría obtener información de Keychain, lo mismo que obtendría información de UserDefaults. Entonces esta cuestión de seguridad es retórica. Pero de todos modos, ¡el buen estilo de programación es guardar esta información en el llavero!
Te recomendaría que uses Llaveros. Usando Keychain, puede almacenar su contraseña en forma cifrada. Eche un vistazo a la muestra de GenericKeychain de Apple.
NSUserDefaults es un poco menos seguro en comparación con Keychain. En los datos de NSUserDefaults se puede acceder fácilmente si se conoce la clave específica. Este no es el caso en Keychain.
También puede convertir NSUserDefaults a Llaveros. Eche un vistazohere.
Puede ser útil observar que los datos de Keychain se mantendrán aunque se elimine su aplicación, pero los datos de NSUserDefaults desaparecerán con la aplicación (NSUserDefaults es parte del arenero de la aplicación, Keychain es un servicio independiente de la aplicación).
- 1. ¿Cuál es la mejor práctica para almacenar el nombre de usuario y la contraseña en el iPhone?
- 2. Restablecer Llavero de la aplicación de iPhone
- 3. La mejor opción para almacenar nombre de usuario y contraseña en la aplicación de Android
- 4. ¿Cuál es la mejor manera de guardar los mejores puntajes en el iPhone para evitar piratear?
- 5. Cómo almacenar mejor la información de usuario y el nombre de usuario y la contraseña
- 6. Guardar nombre de usuario y Pass Objetivo C iPhone
- 7. Android: ¿dónde deberíamos guardar el nombre de usuario y la contraseña en la memoria del dispositivo?
- 8. Cómo guardar CFUUID en llavero
- 9. Guardar una contraseña en llavero en el simulador
- 10. ¿Cómo configuro el nombre de usuario y la contraseña de la aplicación Tomcat Manager para NetBeans?
- 11. ¿Es mejor restablecer la contraseña o devolver la contraseña perdida?
- 12. Comprobando el nombre de usuario y la contraseña en Android
- 13. iPhone - cómo guardar la configuración del usuario desde la aplicación?
- 14. ¿Es seguro guardar el nombre de usuario/contraseña de MySQL en el archivo php.ini?
- 15. Android: ¿Almacenamiento de nombre de usuario y contraseña?
- 16. iPhone - UIImagePickerController -> guardar la imagen en la carpeta de la aplicación
- 17. La mejor manera de guardar datos en el iPhone
- 18. ¿Cuál es la mejor manera de guardar la configuración del usuario en la aplicación Java?
- 19. poner el nombre de usuario y la contraseña en una tabla o en varias tablas para cada tipo de usuario?
- 20. ¿La mejor manera de guardar en nsuserdefaults para la clase personalizada?
- 21. nombre de usuario y contraseña en sqlite3
- 22. Desbloquear llavero OSX sin contraseña?
- 23. iPhone Cambiar el nombre de la aplicación
- 24. Error al guardar en el llavero con iphone sdk
- 25. Android Llavero para credenciales de usuario
- 26. ¿los artículos del llavero del iphone persisten después de la desinstalación de la aplicación?
- 27. Git - Cómo usar el archivo .netrc en Windows para guardar el usuario y la contraseña
- 28. Almacenamiento de nombre de usuario/contraseña en Mac usando Java
- 29. cómo usar el nombre de usuario y la contraseña suministrados para leer un archivo en Java
- 30. Cómo encontrar el nombre de usuario y la contraseña para la base de datos mysql
* En los datos de NSUserDefaults se puede acceder fácilmente si se conoce la clave específica. Este no es el caso en Keychain *. ¿Qué quiere decir con esto? – Honey