Swift_使用SwiftyRSA对密码进行加密

2016-09-27  本文已影响3030人  YHWXQ简简单单的生活

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

Snip20160927_1.png
而我的项目中是使用SwiftRSA进行加密,SwiftRSA下载,你只需要将此文件添加到你的项目中即可
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(对密码进行加密时使用的公钥)

上一篇下一篇

猜你喜欢

热点阅读