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