在Swift中加密密码的最佳方法是什么?

时间:2016-01-10 04:37:24

标签: ios swift encryption

我正在构建一个接收登录凭据(usernamepassword)的应用程序。我想在将数据发送到服务器之前加密。如果有人能够对Swift中最常用的密码加密方法或最佳实践提供一些见解,我将非常感激。

3 个答案:

答案 0 :(得分:1)

如果您确实需要加密Swift中的凭据,可以使用https://github.com/krzyzanowskim/CryptoSwift

但最好通过https将它们发送到服务器 - 这样,它们将为您加密/解密。

答案 1 :(得分:0)

您可以使用Keychain Wrapper存储应用的用户名和密码。 你可以从这里下载包装器:https://github.com/jrendel/SwiftKeychainWrapper

他们有关于如何在自述文件中使用它的说明

答案 2 :(得分:0)

==>我们的Objective-C代码(使用NSString类)可以直接转换为Swift(使用String扩展)。  

  extension String {

func sha1() -> String {
    let data = self.dataUsingEncoding(NSUTF8StringEncoding)!
    var digest = [UInt8](count:Int(CC_SHA1_DIGEST_LENGTH), repeatedValue: 0)
    CC_SHA1(data.bytes, CC_LONG(data.length), &digest)
    let output = NSMutableString(capacity: Int(CC_SHA1_DIGEST_LENGTH))
    for byte in digest {
        output.appendFormat("%02x", byte)
    }
    return output as String
}}println("Hello World".sha1())