大佬教程收集整理的这篇文章主要介绍了ios – 使用CCHmac()生成HMAC swift sdk8.3,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
func generateHMAC(key: String,data: String) -> String { let cKey = key.cStringUsingEncoding(NSUTF8StringEncoding) let cData = data.cStringUsingEncoding(NSUTF8StringEncoding) var result = [CUnsignedChar](count: Int(CC_SHA512_DIGEST_LENGTH),repeatedValue: 0) CCHmac(CCHmacAlgorithm(kCCHmacAlgSHA512),cKey,strlen(cKey!),cData,strlen(cData!),&result) let hash = NSMutableString() for var i = 0; i < result.count; i++ { hash.appendFormat("%02hhx",result[i]) } return hash as String }
虽然你可以做一些强制,你也可以只使用两个数组的count属性而不是调用strlen.
func generateHMAC(key: String,data: String) -> String { var result: [CUnsignedChar] if let cKey = key.cStringUsingEncoding(NSUTF8StringEncoding),cData = data.cStringUsingEncoding(NSUTF8StringEncoding) { let algo = CCHmacAlgorithm(kCCHmacAlgSHA512) result = Array(count: Int(CC_SHA512_DIGEST_LENGTH),repeatedValue: 0) CCHmac(algo,cKey.count-1,cData.count-1,&result) } else { // as @marTinR points out,this is in theory impossible // but personally,I prefer doing this to using `!` fatalError("Nil returned when processing input Strings as UTF8") } let hash = NSMutableString() for val in result { hash.appendFormat("%02hhx",val) } return hash as String }
以上是大佬教程为你收集整理的ios – 使用CCHmac()生成HMAC swift sdk8.3全部内容,希望文章能够帮你解决ios – 使用CCHmac()生成HMAC swift sdk8.3所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。