如何在iphone/objective c中创建一个字符串的SHA256 ...
我读过这个..但我无法理解这一点..
我想创建类似于php函数的输出,如下所示: -
$hash = hash_hmac("sha256", implode(';', $hash_parameters), $api_key);
Run Code Online (Sandbox Code Playgroud)
其中哈希参数是参数数组...
你能把它写成一个取输入字符串的方法......?
什么是NSData或NSString方法的输出.. ??
我必须用这个创建一个请求.. ??
所以在请求对象中..
[theRequest setHTTPBody:requestBody];
Run Code Online (Sandbox Code Playgroud)
什么应该是requestBody的类型?
TAL*_*BOY 17
我不确定我是否完全理解你的问题,但是如果你想创建一个哈希字符串,你可以将参数作为参数传递给哈希函数.
-(void)generateHashedString {
NSString *key = @"Some random string";
//enter your objects you want to encode in the data object
NSString *data = [NSString stringWithFormat:@"%@%@%@", @"sha256", hash_parameters, api_key];
const char *cKey = [key cStringUsingEncoding:NSASCIIStringEncoding];
const char *cData = [data cStringUsingEncoding:NSASCIIStringEncoding];
unsigned char cHMAC[CC_SHA256_DIGEST_LENGTH];
CCHmac(kCCHmacAlgSHA256, cKey, strlen(cKey), cData, strlen(cData), cHMAC);
NSData *HMAC = [[NSData alloc] initWithBytes:cHMAC
length:sizeof(cHMAC)];
NSString *hash = [HMAC base64Encoding];
}
Run Code Online (Sandbox Code Playgroud)
这将为您提供一个可用于发出请求的哈希值的NSString. NSLog(@"%@",hash);看看你生成了什么!
确保你#import <CommonCrypto/CommonHMAC.h>太