CommonCrypto是在Apple设备上进行加密的本地方式。你不需要任何模块或框架,你只需add a bridging header和进口CommonCrypto:
#import <CommonCrypto/CommonCrypto.h>
然后你可以计算一个简单的扩展您的HMAC(SWIFT 4):
extension String {
func hmac(key: String) -> String {
var digest = [UInt8](repeating: 0, count: Int(CC_SHA256_DIGEST_LENGTH))
CCHmac(CCHmacAlgorithm(kCCHmacAlgSHA256), key, key.count, self, self.count, &digest)
let data = Data(bytes: digest)
return data.map { String(format: "%02hhx", $0) }.joined()
}
}
例子:
let result = "test".hmac(key: "test")
结果:
88cd2108b5347d973cf39cdf9053d7dd42704876d8c9a9bd8e2d168259d3ddf7
如果您在非Apple设备上使用Swift,则确实需要使用外部框架来执行加密。