Junior — Middle
Quelle approche utiliseriez-vous pour stocker en toute sécurité les mots de passe dans le système KeyChain?
sobes.tech IA
Réponse de l'IA
Pour stocker en toute sécurité les mots de passe dans iOS Keychain, il faut :
- Utiliser l'API Keychain Services, qui assure le chiffrement et le stockage sécurisé des données.
- Enregistrer les mots de passe en tant qu'objets protégés avec des attributs limitant l'accès (par exemple, kSecAttrAccessibleWhenUnlocked).
- Ne jamais stocker les mots de passe en clair en dehors du Keychain.
Exemple d'enregistrement d'un mot de passe dans le 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)
Cette approche garantit que les mots de passe sont stockés de manière chiffrée et accessibles uniquement à l'application lorsque l'appareil est déverrouillé.