1
我都是新来的哈希和加密。我想要做的是访问一个需要预先散列一些变量的API,现在我的散列不能正确输出。sha1hash不工作,散列错误。
散列是要在以下格式:
散列是sha1hash SHA1(来电显示+时间+键+独特),为40 - 炭十六进制,例如“6b76a4ede12897d42dabc2a5f9270bbdb76985af” ,其中关键是您分配的私钥。
我假定文本中的“+”符号假定连接在一起。尽管如此,按照说明和使用摘要软件包,我的散列有些问题,尽管所有变量的长度都与指令相匹配。哈希错误通过使用:http://www.hashkiller.co.uk/sha1-decrypter.aspx验证,它为我的哈希产生了一个错误,并且HTTP GET查询使用哈希错误文本产生了403错误。
我的代码
library(httr)
library(digest)
library(stringi)
BooliReq <- function() {
#ID Info
key <- "PRIVATEKEY"
caller.ID <- "IDName"
#//
unix.timestamp <- as.integer(as.POSIXct(Sys.time()))
random.string <- stri_rand_strings(n = 1, length = 16)
#Sha1-Hash: CallerID + time + key + unique, 40-char hexadecimal
hash.string <- paste0(caller.ID, unix.timestamp, key, random.string)
hash.sha1 <- digest(hash.string, "sha1")
#Create URL
url.string <- paste0("https://api.booli.se/listings?q=nacka&limit=3&offset=0&callerId=", caller.ID, "&time=" ,
unix.timestamp, "&unique=", random.string, "&hash=", hash.sha1)
GET(url.string, add_headers(Accept = "json"))
}
链接到API:
使用'消化(hash.string,“SHA-1”,连载= FALSE)',但我希望你有一个真正caller.ID,因为我怀疑它会工作,否则... – digEmAll
解决它!谢谢! – uncool
请创建答案,我会将其标记为正确。 – uncool