gpt4 book ai didi

python - python base64.urlsafe_b64decode(client_secret) 的 R 等效项是什么?

转载 作者:行者123 更新时间:2023-11-30 23:07:44 24 4
gpt4 key购买 nike

我正在尝试进行哈希处理,以便可以针对 google api 进行身份验证。

如果我运行base64.urlsafe_b64decode(client_secret)?其中 client_secret 是我的 key ,然后在摘要中的 R 中使用它:hmac,一切正常。

但是,我找不到 b64decode?

关于下面的评论:

我承认我有点初学者,但这里有一个例子。请注意,我在这里编造了 Secret_key,因为显然我无法公开分享真实的 key 。

在Python中:

base64.urlsafe_b64decode("49ugdj9v_3290k3r902qkf9=")
Out[35]: '\xe3\xdb\xa0v?o\xff}\xbd\xd2M\xeb\xf7M\xaa\x91\xff'

注意:上面的结果正是我想要的字符串。

在 R 中:

RCurl::base64("49ugdj9v_3290k3r902qkf9=", encode = FALSE)
[1] "\xe3۠v?o\003}\xbd\xd2M\xeb\xf7M\xaa\x91\xff"

请注意,结果并不相同。另外,我尝试这样做:

> URLencode(RCurl::base64("49ugdj9v_3290k3r902qkf9=", encode = FALSE))
[1] "NA"
Warning message:
In strsplit(URL, "") : input string 1 is invalid in this locale

如果我在 R 中尝试不同的 Base64 编码器,我会得到同样的结果:

rawToChar(base64decode("49ugdj9v_3290k3r902qkf9="))
[1] "\xe3۠v?o\xdfot\x93z\xfd\xd3j\xa4\177"

无论如何,我希望这有助于解释我的问题。如果有人有解决方案,将不胜感激。

最佳答案

当您进行“url-safe”编码时,您可以将 / 转换为 _ 并将 + 转换为 - >。因此,为了正确解码这些值,您需要首先撤消这些翻译。

urlsafebase64becode <- function(x, ...) {
RCurl::base64(gsub("_","/", gsub("-","+",x,fixed=TRUE),fixed=TRUE), encode=FALSE, ...)
}

urlsafebase64becode("49ugdj9v_3290k3r902qkf=")
urlsafebase64becode("49ugdj9v_3290k3r902qkf=", mode="raw")
# [1] e3 db a0 76 3f 6f ff 7d bd d2 4d eb f7 4d

这似乎与Python匹配

' '.join(x.encode('hex') for x in base64.urlsafe_b64decode("49ugdj9v_3290k3r902qkf9="))
'e3 db a0 76 3f 6f ff 7d bd d2 4d eb f7 4d aa 91 ff'

关于python - python base64.urlsafe_b64decode(client_secret) 的 R 等效项是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32062193/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com