R等价于Python的hashlib.sha256函数

时间:2017-09-27 20:24:01

标签: 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", algo="sha256", serialize=FALSE)
# "f0e4c2f76c58916ec258f246851bea091d14d4247a2fc3e18694461b1816e13b"

我可以使用x.hexdigest()代替x.digest()在python中获得相同的输出。如何在我的R代码中获得x.digest()的输出?

1 个答案:

答案 0 :(得分:4)

Python输出是摘要的原始字节。 R digest函数也支持raw参数。

digest("asdf", algo="sha256", serialize=FALSE, raw=TRUE)