我发现我们可以用 CommonCrypto 散列一些字符串。
我看到了一些例子,但他们不使用盐。
我如何将 SHA256 与盐一起使用?

最佳答案

Swift 4 的完整解决方案:

extension Data {

    var hexString: String {
        return map { String(format: "%02hhx", $0) }.joined()
    }

    var sha256: Data {
        var digest = [UInt8](repeating: 0, count: Int(CC_SHA256_DIGEST_LENGTH))
        self.withUnsafeBytes({
            _ = CC_SHA256($0, CC_LONG(self.count), &digest)
        })
        return Data(bytes: digest)
    }

}

extension String {

    func sha256(salt: String) -> Data {
        return (self + salt).data(using: .utf8)!.sha256
    }

}

例子:
let hash = "test".sha256(salt: "salt").hexString

关于swift - 如何快速使用带有盐(某些键)的 SHA256,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38559763/

10-11 20:41