Overview
节后有个项目使用到腾讯云的活体检测,其实功能也不是很复杂,但在对接腾讯云的时候被他的签名方式耽误了一些时间,但好在它的文档写的很详细,仔细地阅读了官方文档,最后也在很快的时间内对接成功。
这里主要记录HMAC-SHA1
在iOS中的代码,便于后期查阅。
引入头文件
1 2
| #include <CommonCrypto/CommonDigest.h> #include <CommonCrypto/CommonHMAC.h>
|
HMAC-SHA1
算法签名,Base64
进行编码
1 2 3 4 5 6 7 8 9 10 11 12 13
| - (NSString *)hmacsha1:(NSString *)obj key:(NSString *)key { const char *cKey = [key cStringUsingEncoding:NSASCIIStringEncoding]; const char *cData = [obj cStringUsingEncoding:NSASCIIStringEncoding]; unsigned char cHMAC[CC_SHA1_DIGEST_LENGTH];
CCHmac(kCCHmacAlgSHA1, cKey, strlen(cKey), cData, strlen(cData), cHMAC); NSData *HMAC = [[NSData alloc] initWithBytes:cHMAC length:sizeof(cHMAC)];
NSString *hash = [HMAC base64EncodedStringWithOptions:NSDataBase64Encoding64CharacterLineLength];
return hash; }
|
参考资料