【发布时间】:2019-01-18 05:12:49
【问题描述】:
我正在尝试使用 Cryptopia 的私有 API。为了使用私有 API,需要对 post 参数进行 Base64 编码的 MD5 哈希。我从https://github.com/thebotguys/cryptopia-api-python/blob/master/cryptopia_api.py找到了一个python代码
在将代码翻译成 R 时,md5 哈希生成器给我带来了麻烦。 python 和 R 的哈希结果不同。请填写如何解决。
Python:
post_parameters = {'Currency': 'BTC'}
post_data = json.dumps(post_parameters)
md5 = hashlib.md5()
jsonparams = post_data.encode('utf-8')
md5.update(jsonparams)
rcb64 = base64.b64encode(md5.digest()).decode('utf-8')
R:
post_parameters <- list("Currency" = "BTC")
post_data <- jsonlite::toJSON(post_parameters, auto_unbox=T)
jsonparams <- stri_enc_toutf8(post_data, is_unknown_8bit = FALSE, validate = FALSE)
rcb64 <- base64encode(digest(jsonparams, algo="md5", raw=T)
我尝试了这个,而不是最后一行,但它也产生了另一个结果。
rcb64 <- base64encode(charToRaw(digest(jsonparams, algo="md5")))
【问题讨论】:
-
R
base64encode函数使用什么包?