Sobes.tech
Junior — Middle

Можете ли да обясните какво се разбира под термина KeyChain?

sobes.tech AI

Отговор от AI

Keychain в iOS е сигурно хранилище за пароли, сертификати, ключове и други поверителни данни. Осигурява безопасно съхранение и достъп до поверителна информация на приложенията.

Характеристики на Keychain:

  • Данните са криптирани и съхранявани в защитена зона.
  • Достъпът до данните се регулира от политики за сигурност и права за достъп.
  • Позволява съхраняване на информация между стартирането на приложението и дори след изтриване и преинсталиране (ако е настроено).

Пример за използване на Keychain за запазване на парола:

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)
}

Така, Keychain е стандартният механизъм на iOS за безопасно съхранение на тайни.