iphone - iPhone 是否有一个可以使用 HMAC-SHA-1 编码的库

标签 iphone amazon-web-services signature

对于使用 Amazon 服务(S3、EC2、SimpleDB)的所有操作,您需要使用 HMAC-SHA-1 签名( http://en.wikipedia.org/wiki/HMAChttp://docs.amazonwebservices.com/AWSFWS/latest/DeveloperGuide/index.html?SummaryOfAuthentication.html )对所有请求进行签名。

我在asp.net后端下工作,没有任何问题。问题出在 iPhone 应用程序中。 iPhone开发者表示无法使用HMAC-SHA-1编码,他无权实现自己的算法。作为程序员,我无法理解为什么会出现问题。

所以我也想知道 iPhone 开发者是对吗?

我从未为 iPhone 编写过代码,所以我什至不知道在哪里搜索此类信息。

最佳答案

CommonCrypto 可以解决问题。

#import <CommonCrypto/CommonHMAC.h>

然后稍后

/*
  inputs:
  NSData *keyData;
  NSData *clearTextData
*/

uint8_t digest[CC_SHA1_DIGEST_LENGTH] = {0};

CCHmacContext hmacContext;
CCHmacInit(&hmacContext, kCCHmacAlgSHA1, keyData.bytes, keyData.length);
CCHmacUpdate(&hmacContext, clearTextData.bytes, clearTextData.length);
CCHmacFinal(&hmacContext, digest);

NSData *out = [NSData dataWithBytes:digest length:CC_SHA1_DIGEST_LENGTH];

关于iphone - iPhone 是否有一个可以使用 HMAC-SHA-1 编码的库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/476455/

相关文章:

ios - 在上传到服务器之前压缩视频和图像

amazon-web-services - AWS lambda 工作正常但我无法返回值

types - 在SML的这段代码中 “node”在做什么?

java - 如何在使用自己的证书时启用 PDF LTV 签名 (Adobe java PDFBox)

ios - 如何使您的应用程序在 UIActivityViewcontroller 列出的事件中可用

iphone - 当方向改变时更改或禁用 iPhone 旋转动画

iphone - iOS - 如何将自定义字体安装到 iPhone OS(不仅仅是我的应用程序)中,就像 AnyFont 应用程序一样?

amazon-web-services - 如何在AWS Lambda上安装fontconfig?

angularjs - 如何在浏览器中忽略来自 AWS ELB 的空闲超时

email - 使用 Google 字体进行电子邮件签名