【发布时间】:2017-10-12 11:03:20
【问题描述】:
我想将创建 Swift3 的这个方法转换为 Objective C。
func HMAC_CREATOR(MIX_STR mixStr:String,KEY_DATA_UINT8 keyDataUint8:Array<UInt8>) -> String {
let signatureData : Data = mixStr.data(using: .utf8)!
let digest = UnsafeMutablePointer<UInt8>.allocate(capacity:Int(CC_SHA256_DIGEST_LENGTH))
var hmacContext = CCHmacContext()
CCHmacInit(&hmacContext, CCHmacAlgorithm(kCCHmacAlgSHA256), (keyDataUint8), (keyDataUint8.count))
CCHmacUpdate(&hmacContext, [UInt8](signatureData), [UInt8](signatureData).count)
CCHmacFinal(&hmacContext, digest)
let macData = Data(bytes: digest, count: Int(CC_SHA256_DIGEST_LENGTH))
return macData.hexEncodedString()
}
【问题讨论】:
-
这是错误的@Kamil.S
-
您需要更具体地说明究竟是什么出了问题。
-
很清楚,因为这些方法中的结果字符串不同@Kamil.S
-
@zaph 你有什么想法吗?
标签: ios objective-c swift sha256 cchmac