【问题标题】:How to save username, password securely in Keychain in swift如何快速将用户名、密码安全地保存在钥匙串中
【发布时间】:2021-01-29 12:41:41
【问题描述】:

第一次构建 iOS 应用程序时,我陷入了安全保存数据的困境。如何在钥匙串中保存用户名和密码等敏感数据

在应用程序中,我使用UserDefaults 来存储和检索,如下所示

 UserDefaults.standard.set([unameTextfield.text], forKey: "userName")
 UserDefaults.standard.set([passwordTextfield.text], forKey: "userPassword")

用于检索:

  let uName = UserDefaults.standard.string(forKey: "userName")
  let uPassword = UserDefaults.standard.string(forKey: "userPassword")

但我想将数据安全地保存在 Keychain 中,该怎么做?

【问题讨论】:

    标签: swift keychain


    【解决方案1】:

    您是对的,UserDefault 在存储敏感信息时不是一个好的解决方案。 Keychain 是你需要的;但是,问题在于钥匙串原生 API 不像 Userdefault Api 那样简单/直接。 所以,我认为一个很好的解决方案是使用KeychainWrapper

    首先,安装它。让你的 cocaopod 文件看起来像这样

    use_frameworks!
    platform :ios, '8.0'
    
    target 'target_name' do
       pod 'SwiftKeychainWrapper'
    end
    

    然后,使用pod install 从终端安装它并导入它。 (这是来自文档)

    import SwiftKeychainWrapper    
    
    //Set value
    let saveSuccessful: Bool = KeychainWrapper.standard.set("Some String", forKey: "myKey")
    
    //get value
    let retrievedString: String? = KeychainWrapper.standard.string(forKey: "myKey")
    

    【讨论】:

    • 我知道KeychainWrapper ,但我想使用钥匙串..你能指导我吗
    • 为什么这不是一个好的解决方案。它仍然适用于钥匙串
    猜你喜欢
    • 2019-08-11
    • 2014-12-28
    • 1970-01-01
    • 1970-01-01
    • 2016-02-03
    • 1970-01-01
    • 2020-08-06
    • 2017-07-29
    相关资源
    最近更新 更多