我看过http://gibsonsec.org/snapchat/fulldisclosure/
我将如何在Swift中实现这一点?
我可以存储他们的凭据,并且可以调用他们收到的快照,/bq/login
但我不确定如何获取发出请求所需的所有正确信息。我也可以打电话/ph/blob
来获取blob。我只需要帮助构建请求。
我在创建对 Snapchat 的请求时遇到问题。
以下是用于制作令牌的选项:
var options = ["blob_enc_key": "M02cnQ51Ji97vwT4", "pattern": "0001110111101110001111010101111011010001001110011000110001000110", "secret": "iEk21fuwZApXlz93750dmW22pw389dPwOk", "static_token": "m198sOkJEn37DjqZ32lpRu76xmw288xSQ9", "url": "https://feelinsonice-hrd.appspot.com", "user_agent": "Snapchat/8.1.1 (iPad; iPhone OS 6.0; en_US; gzip)"]
以及制作令牌的代码:
func dualHash(_ value1: Data, andHash value2: Data) -> String {
var s1: Data? = self.secret
s1?.append(value1)
var s2: Data? = value2
s2?.append(self.secret)
var s3: String = hexHash(s1)
var s4: String = hexHash(s2)
var pattern: String = options["pattern"]
var result = String()
for i in 0..<(pattern.characters.count ?? 0) {
if pattern[i] == "0" {
result += String(format: "%C", s3[i])
}
else {
result += String(format: "%C", s4[i])
}
}
return result
}
此代码不起作用。
任何帮助表示赞赏。