base64 HmacSHA1解码在iPhone中

问题描述:

我正在研究iPhone应用程序,需要Base64解码使用HmacSHA1算法。谁能帮我做客观-C相当于给定的Java代码:base64 HmacSHA1解码在iPhone中

SecretKeykey = new SecretKeySpec(com.sinotar.algorithm.Base64.decode(
    "vNQKX3C1wD/KprnnOcdRwM80YIn5bo47w9VdTlDpCB8="), "HmacSHA1"); 

感谢matthijz,但它无关HMACSHA1。我正在寻找的解决方案是相当于Java代码的东西:

SecretKey key = null; 
try { key = new SecretKeySpec(com.sinotar.algorithm.Base64.decode("vNQKX3C1wD/KprnnOcdRwM80YIn5bo47w9VdTlDpCB8="), 
           "HmacSHA1"); 
} 

任何帮助表示赞赏。

+0

你的意思是你想base64解码然后HMACSHA1的结果? – futureelite7

+0

什么是'com.sinotar'包?它不是标准Java库的一部分。它有什么作用?只需Base64编码/解码? –

查看Matt Gallagher关于Base64编码的文章 - 最后有可下载的代码。 http://cocoawithlove.com/2009/06/base64-encoding-options-on-mac-and.html

+0

谢谢matthijz,但它与HmacSHA1无关。我正在寻找的解决方案是相当于Java代码的东西: SecretKey key = null;尝试{key = new SecretKeySpec(com.sinotar.algorithm.Base64.decode(“vNQKX3C1wD/KprnnOcdRwM80YIn5bo47w9VdTlDpCB8 =”),“HmacSHA1”); } –

您引用的代码似乎采用base64值,将其转换为二进制,并使用它设置HMACSHA1算法的密钥。这两个步骤在概念上是分开的。

Here是Mac上HMAC_SHA1的页面 - 我还没有找到iPhone的等价物,但我会认为它存在。