Yelp API OAuth - oauth_signature

时间:2015-12-09 22:03:02

标签: ios swift oauth sha1 yelp

我正在尝试在Swift iOS应用程序中使用Yelp API,但我不熟悉加密。我知道我应该用SHA1加密签名,但是在Swift / Xcode中找不到好的资源。

此外,Yelp文档说我应该将签名值传递为“生成的请求签名,使用获得的oauth_token_secret签名”。我不明白“签约”是什么意思。链接到此处的文档:Yelp Authentication

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

更新:看看CocoaPods YELP解决方案,您可以选择使用CocoaPod,直接嵌入代码或仅使用代码作为示例。

另一种方法是CocoaPods OAuth

SHA1不是加密,它是一个哈希函数,为它的输入创建一个20字节的签名。

以下示例可能有用但可能无法满足您的输入和输出数据格式:

func sha1(string string: String) -> [UInt8] {
    var digest = [UInt8](count: Int(CC_SHA1_DIGEST_LENGTH), repeatedValue: 0)
    if let data = string.dataUsingEncoding(NSUTF8StringEncoding) {
        CC_SHA1(data.bytes, CC_LONG(data.length), &digest)
    }
    return digest
}

//测试:

let digest = sha1(string:"Here is the test string")
print("digest: \(digest)")

输出:

  

摘要:[143,131,57,51,3,161,82,234,51,191,110,62,187,194,133,148]