Sobes.tech
Junior — Middle

Que abordagem usarias para armazenar de forma segura as senhas no sistema KeyChain?

sobes.tech IA

Resposta da IA

Para armazenar senhas de forma segura no iOS Keychain, deve-se:

  • Utilizar a API Keychain Services, que fornece criptografia e armazenamento seguro de dados.
  • Guardar as senhas como objetos protegidos com atributos que limitam o acesso (por exemplo, kSecAttrAccessibleWhenUnlocked).
  • Nunca guardar senhas em texto claro fora do Keychain.

Exemplo de como gravar uma senha no Keychain em 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 garante que as senhas são armazenadas de forma encriptada e acessíveis apenas à aplicação quando o dispositivo está desbloqueado.