Junior — Middle
¿Qué enfoque usarías para almacenar de manera segura las contraseñas en el sistema KeyChain?
sobes.tech AI
Respuesta de la IA
Para almacenar contraseñas de forma segura en iOS Keychain, se debe:
- Utilizar la API Keychain Services, que proporciona cifrado y almacenamiento seguro de datos.
- Guardar las contraseñas como objetos protegidos con atributos que limiten el acceso (por ejemplo, kSecAttrAccessibleWhenUnlocked).
- Nunca almacenar contraseñas en texto abierto fuera del Keychain.
Ejemplo de cómo guardar una contraseña en el Keychain en Swift:
let password = "user_password".data(using: .utf8)!
let query: [String: Any] = [
kSecClass as String: kSecClassGenericPassword,
kSecAttrAccount as String: "user@example.com",
kSecValueData as String: password,
kSecAttrAccessible as String: kSecAttrAccessibleWhenUnlocked
]
SecItemAdd(query as CFDictionary, nil)
Este método garantiza que las contraseñas se almacenan en forma cifrada y solo son accesibles para la aplicación cuando el dispositivo está desbloqueado.