所以我想弄清楚如何在ios上做一个hmacshad256散列,因为这是我为我做的wcf服务api所做的散列。 我一直在试图寻找一些关于它的信息,但通常只会得到一个SHA-256散列。 这是我唯一的参考: 需要像在Java中一样在Objective C中生成HMAC SHA256哈希 我不确定这是否是唯一的方法(导入一个java hmac类) 任何帮助表示赞赏。 谢谢!
我正在尝试使用SHA-512algorithm从我的iOS应用程序中复制Hmac生成行为,该algorithm引用此链接HMAC-SHA1的Objective-C示例代码 。 为此,我尝试使用CrytoJS和jsSHA库来计算使用javascript代码的Hmac。 我发现这些JavaScript库和我使用我的iOS代码产生的hmac值差异。 有人能帮我理解我在这里做错了什么吗? 我有一种感觉,我正在搞乱传递给这两种方法的键和计数器值的格式。 例如:key =“快速的棕色狐狸跳过懒狗”counter = 123 由iOS代码生成的Hmac-8d4b0f7c7f800ffd656829b98988048b49b08d0068f6fd33add8a02b6bce8097cdd3a69dc8292ec7cc04e15021afb4499afe4a292f8db082b2d253ddfe7d7015 由javascript库生成的Hmac-211935F67D87CBB6A98DE6A6D9D64F9AAF8DA5F09BF17F1B7E5BD46FCD9BEFBCD3585FB859BD042291AF5D79B6D92CF7B348CD6558A18AEF4328FAF344D63266 iOS代码: NSData *key = [key dataUsingEncoding:NSASCIIStringEncoding]; NSData *rawKeyData = [DataUtil rawDataFromHex:key]; //encode the counter uint8_t tosign[8]; for (int i = sizeof(tosign) – 1; i >= 0; i–) { tosign[i] = counter & 0xff; counter >>= 8; } unsigned char cHMAC[CC_SHA512_DIGEST_LENGTH]; CCHmac(kCCHmacAlgSHA512, [rawKeyData bytes], […]