【问题标题】:R equivalent of Python's hashlib.sha256 functionR 等效于 Python 的 hashlib.sha256 函数
【发布时间】:2017-09-27 20:24:01
【问题描述】:

我正在尝试在 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() 的输出?

【问题讨论】:

    标签: python r digest hashlib


    【解决方案1】:

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

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

    【讨论】:

    • 我应该提到我已经尝试过了。这是我得到的输出:f0 e4 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 打印字节字符串的方式——它们代表相同的代码。
    猜你喜欢
    • 2020-03-18
    • 2018-02-20
    • 2014-05-31
    • 1970-01-01
    • 2012-02-21
    • 2015-05-25
    • 2021-04-13
    • 1970-01-01
    • 2017-03-07
    相关资源
    最近更新 更多