如何将单个unicode字符串作为下面的签名(而不是字符向量(似乎包含unicode字符串)?
例如
library(digest)
raw_key = 'QQrawkeyrawkeyrawkeyrawkey4='
key = RCurl::base64Decode(raw_key)
url_test = 'example_url'
signature <- digest::hmac(key, url_test, algo = "sha1", raw = T)
返回字符向量
64 d9 cb 13 d3 f9 5c 0a 4c 1d 47 d2 d5 9d ab 24 25 3f f3 20
但我想让它返回单个字符串 'd \ xd9 \ xcb \ x13 \ xd3 \ xf9 \\ nL \ x1dG \ xd2 \ xd5 \ x9d \ xab $%?\ xf3'
背景
我试图让R代码与下面的python代码一样工作(我对python不是很有经验)。
raw_key = 'QQrawkeyrawkeyrawkeyrawkey4='
key = base64.urlsafe_b64decode(raw_key)
url_test = 'example_url'
hmac.new(key, url_test.encode(), hashlib.sha1).digest()
附加上下文是我需要使用高级帐户来串口创建用于调用google distance matrix API的签名。
答案 0 :(得分:1)
digest::hmac(.., raw=TRUE)
实际上并没有返回一个字符向量,而是在R中返回一个“原始”向量。要将其转换为字符串,请使用
rawToChar(signature)