所以我试图找出如何在ios上做一个hmacshad256哈希,因为这是我为wcf服务api所做的哈希.我一直在寻找一些关于它的信息,但通常最终会得到一个SHA-256哈希.
这是我唯一的参考:
Need to generate HMAC SHA256 hash in Objective C as in Java
我不知道这是否是唯一的方法(导入一个java hmac类)
任何帮助是赞赏.
谢谢!
解决方法
NSString * parameters = @"string to hash" NSString *salt = @"saltStringHere"; NSData *saltData = [salt dataUsingEncoding:NSUTF8StringEncoding]; NSData *paramData = [parameters dataUsingEncoding:NSUTF8StringEncoding]; NSMutableData* hash = [NSMutableData dataWithLength:CC_SHA256_DIGEST_LENGTH ]; CCHmac(kCCHmacAlgSHA256,saltData.bytes,saltData.length,paramData.bytes,paramData.length,hash.mutableBytes); NSString *base64Hash = [hash base64Encoding];
并且
#import <CommonCrypto/CommonHMAC.h>
自从07.07以来,最后一行应该是:
NSString *base64Hash = [hash base64EncodedStringWithOptions:0];