我有一个变量var password = ""
。该应用程序有注册页面,其中密码采用安全输入条目形式。
然后我必须将密码从一个 Controller 传递到另一个 Controller ,因此我将其分配给密码变量,以完成注册过程。
password = passwordtextField.text
Class A{
var password = ""
@IBOutlet weak var passwordTextField:UITextField!
//save function
password = passwordtextField.text
//pass the data to next class to complete registration
let vc = storyboard?.instantiateViewController(withIdentifier: "BControllerid") as! BViewController
vc.passwordB = password
}
Class BViewController{
var passwordB = ""
//viewDiLoad
request.body = ["password" : passwordB]
//call the request
}
我的问题是: 1.我应该加密分配给变量的密码吗?如果可以的话,该怎么办呢?在进行 API 调用之前我是否必须再次解密? 2. 分配密码并传递给下一个类(class)是否安全?
最佳答案
对于问题 1:
不,您不需要加密它,因为它正在应用程序内使用。没有人可以在您的代码之外读取该变量。
好吧,您可以在向 API 发送密码时执行相同的机制,因为如果您的网络不安全或者有人试图在您的 API 调用和应用程序中间中断,那么他就可以获取这些信息。因此,最好在发送到 API 时对密码进行加密,并将其以加密形式存储到数据库中。
对于问题 2:
是的,这样做是安全的。如前所述,它始终在您的项目内,因此,除了负责的类之外,没有人会读取变量和分配的值。
希望一切顺利。
关于ios - swift 4 中变量的密码加密,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51980452/