Ios Yelp API OAuth-OAuth_签名

Ios Yelp API OAuth-OAuth_签名,ios,swift,oauth,sha1,yelp,Ios,Swift,Oauth,Sha1,Yelp,我正在尝试在Swift iOS应用程序中使用Yelp API,但我对加密一无所知。我知道我应该用SHA1加密签名,但在Swift/Xcode中找不到这样做的好资源 此外,Yelp文档说我应该将签名值作为“生成的请求签名,使用获得的oauth_令牌_secret签名”传递。我不明白“签字”是什么意思。此处链接到文档: 任何帮助都将不胜感激。更新:看看解决方案,您可以选择使用CocoaPod、直接嵌入代码或仅使用代码作为示例 另一种方法是 SHA1不是加密,它是一个为输入创建20字节签名的哈希函数

我正在尝试在Swift iOS应用程序中使用Yelp API,但我对加密一无所知。我知道我应该用SHA1加密签名,但在Swift/Xcode中找不到这样做的好资源

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

任何帮助都将不胜感激。

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

另一种方法是

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)")
输出:

文摘:[143131 57 51 3131181234 51191110 62187194133148]


首先,如果你能链接到文档,那就好了。第二,用您的密钥签名是其他人验证您的请求的方式。签名过程与加密过程非常相似,但在加密中通常使用公钥的情况下,您将使用私钥。也许看看