一般的APP都会有一个记住密码的功能,如果点击记住密码,等下次登录,密码是加密状态
而我的项目中是使用SwiftRSA进行加密,SwiftRSA下载,你只需要将此文件添加到你的项目中即可
代码
#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(对密码进行加密时使用的公钥)