如何在swift中使用SHA256?

时间:2015-11-25 20:13:54

标签: swift

关于这个主题,stackoverflow上有一些线程,但是我无法让它工作。所以我希望你能帮助我:

我创建了一个名为Crypto.h的头文件,它只包含这一行:

#import <CommonCrypto/CommonCrypto.h>

此外,我有一个名为StringExtension.swift的文件,它包含以下代码:

import Foundation

extension String {
    func sha256() -> String {
        let data = self.dataUsingEncoding(NSUTF8StringEncoding)!
        var digest = [UInt8](count:Int(CC_SHA256_DIGEST_LENGTH), repeatedValue: 0)
        CC_SHA256(data.bytes, CC_LONG(data.length), &digest)
        let hexBytes = digest.map { String(format: "%02hhx", $0) }
        return hexBytes.joinWithSeparator("")
    }
}

我从这里得到了代码:How to crypt string to sha1 with Swift? 我在另一个网站上发现,如果你想使用sha256,我可以用sha256替换sha1。

但我这样的错误: 使用未解析的标识符&#39; CC_SHA256_DIGEST_LENGTH&#39;

我做错了什么?

0 个答案:

没有答案