Swift_使用SwiftyRSA对密码进行加密

一般的APP都会有一个记住密码的功能,如果点击记住密码,等下次登录,密码是加密状态

Swift_使用SwiftyRSA对密码进行加密_第1张图片
Snip20160927_1.png

而我的项目中是使用 SwiftRSA进行加密, SwiftRSA下载,你只需要将此文件添加到你的项目中即可
Swift_使用SwiftyRSA对密码进行加密_第2张图片
Snip20160927_2.png

代码

#import "NSData+SHA.h"
  if self.rememberPwd && !self.encryptedPwd {
    // 是否记住密码
    var rememberPwd = false
    // 登录是否使用公钥加密密码,1是0否 是login接口的一个参数
    var encryptedPwd = false

    if self.rememberPwd && !self.encryptedPwd {
        // 将账号和密码保存到keychain中
        KeychainSwift().set(self.realUserName, forKey: "thorgeneRememberedUserName")
       do {
          let encPwd = try SwiftyRSA.encryptString(self.passwordTextField.text!, publicKeyPEM: response!["public_key"] as! String, padding: .OAEP)
          KeychainSwift().set(encPwd, forKey: "thorgeneRememberedPassword")
          NSUserDefaults.standardUserDefaults().setBool(true, forKey: "rememberPwdEnabled")    
           } catch {
            KeychainSwift().delete("thorgeneRememberedUserName")
            NSUserDefaults.standardUserDefaults().setBool(false, forKey: "rememberPwdEnabled")
             }
      }
其中,public_key是在login接口中返回的一个结果 , "public_key":String(对密码进行加密时使用的公钥)

你可能感兴趣的:(Swift_使用SwiftyRSA对密码进行加密)