Sobes.tech
Junior — Middle

Pode explicar o que se entende por termo KeyChain?

sobes.tech IA

Resposta da IA

Keychain no iOS é um armazenamento seguro para passwords, certificados, chaves e outros dados confidenciais. Proporciona armazenamento seguro e acesso às informações confidenciais das aplicações.

Características do Keychain:

  • Os dados são encriptados e armazenados numa área protegida.
  • O acesso aos dados é regulado por políticas de segurança e permissões.
  • Permite guardar informações entre execuções da aplicação e mesmo após a sua eliminação e reinstalação (se configurado).

Exemplo de uso do Keychain para guardar uma password:

import Security

func savePassword(_ password: String, 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)
}

Assim, o Keychain é o mecanismo padrão do iOS para armazenamento seguro de segredos.