Qual é a vantagem de usar o Key Chain para armazenar senhas de forma segura?
sobes.tech IA
Resposta da IA
Keychain — é um armazenamento seguro no iOS, destinado a guardar dados confidenciais, como senhas, tokens e certificados. Sua vantagem é que fornece criptografia ao nível do sistema e os protege usando hardware (Secure Enclave), o que aumenta significativamente a segurança em comparação com o armazenamento de senhas em arquivos comuns ou UserDefaults.
Além disso, o Keychain gerencia automaticamente o acesso aos dados, permitindo limitar seu uso apenas a aplicativos ou grupos de aplicativos específicos, o que reduz o risco de vazamento. Os dados no Keychain também permanecem entre reinicializações do dispositivo e mesmo após a exclusão do aplicativo (se configurado corretamente).
Exemplo de uso do Keychain para salvar uma senha:
import Security
func savePassword(_ password: String, for account: String) {
let data = password.data(using: .utf8)!
let query: [String: Any] = [
kSecClass as String: kSecClassGenericPassword,
kSecAttrAccount as String: account,
kSecValueData as String: data
]
SecItemAdd(query as CFDictionary, nil)
}