usingAlgorithm:UInt32(kCCHmacAlgSHA256)给我一个kCCHmacAlgSHA256的无法解析的标识符

时间:2018-08-10 06:46:49

标签: ios xcode swift3 swift4 amazon

我正在尝试集成Amazon SDK,但无法获取kCCHmacAlgSHA256的标识符

import AWSCore
import AWSAPIGateway

我有签名

 let signature = AWSSignatureSignerUtility.hmacSign(dataToSign,
 withKey: secretKey, usingAlgorithm: UInt32(kCCHmacAlgSHA256))

我想知道是否必须导入算法(如果有快速的内置算法)。

完整的代码如下

 func signedParametersForParameters(_ parameters: [String: String]) -> [String:AnyObject]{
    let secretKey = getAmazonAccountCredentials().2
    let sortedKeys = Array(parameters.keys).sorted(by: <)
    var components: [(String, String)] = []
    for  key in sortedKeys {
    components += URLEncoding.queryString.queryComponents(fromKey: key, value: parameters[key]!)
    }
    let query = (components.map { "\($0)=\($1)" } as [String]).joined(separator: "&")
    let stringToSign = "GET\nwebservices.amazon.in\n/onca/xml\n\(query)"
    let dataToSign = stringToSign.data(using: String.Encoding.utf8)
    let signature = AWSSignatureSignerUtility.hmacSign(dataToSign, withKey: secretKey, usingAlgorithm: UInt32(kCCHmacAlgSHA256))
    var params : [String:AnyObject] = parameters as [String : AnyObject]
    params["Signature"] = signature as AnyObject?
    return params

}

0 个答案:

没有答案