R相当于Python';s hashlib.sha256函数
我试图在R中复制以下Python代码的输出:R相当于Python';s hashlib.sha256函数,python,r,digest,hashlib,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;' 这是我的R代码: library(digest) digest("asdf
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;'
这是我的R代码:
library(digest)
digest("asdf", algo="sha256", serialize=FALSE)
# "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b"
通过使用
x.hexdigest()
而不是x.digest()
,我能够在python中获得相同的输出。如何在R代码中获得x.digest()
的输出?Python输出是摘要的原始字节。R函数还通过raw
参数支持这一点
digest("asdf", algo="sha256", serialize=FALSE, raw=TRUE)
我应该说我已经试过了。这是我得到的输出:
f0e4 c2 f7 6c 58 91 6e c2 58 f2 46 85 1b ea 09 1d 14 d4 24 7a 2f c3 e1 86 94 46 1b 18 16 e1 3b
R和Python打印字节字符串的方式不同——它们表示相同的代码。