R 等效于 Python 的 hashlib.sha256 函数

ytk*_*ytk 3 python r digest hashlib

我正在尝试在 R 中复制以下 Python 代码的输出:

import hashlib

x = hashlib.sha256()
x.update("asdf".encode("utf8"))
print(x.digest())
# b'\xf0\xe4\xc2\xf7lX\x91n\xc2X\xf2F\x85\x1b\xea\t\x1d\x14\xd4$z/\xc3\xe1\x86\x94F\x1b\x18\x16\xe1;'
Run Code Online (Sandbox Code Playgroud)

这是我的 R 代码:

library(digest)
digest("asdf", algo="sha256", serialize=FALSE)
# "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b"
Run Code Online (Sandbox Code Playgroud)

我可以通过使用x.hexdigest()而不是x.digest(). 如何x.digest()在我的 R 代码中获取输出?

Tra*_*kel 6

Python 输出是摘要的原始字节。R摘要函数也通过raw参数支持这一点。

digest("asdf", algo="sha256", serialize=FALSE, raw=TRUE)
Run Code Online (Sandbox Code Playgroud)

  • 不同之处在于 R 和 Python 打印字节字符串的方式——它们表示相同的代码。 (2认同)