python hexdigest_Python的hashlib.sha256(x.hexdigest()是否等同于Rs digest(x,algo=“sha256”)...

是的,Python和R示例代码都返回传入数据的SHA256哈希摘要的十六进制表示。

您确实需要关闭R中的序列化,否则digest()包首先创建字符串的序列化,而不是仅计算字符数据的哈希;将serialize设置为FALSE:> digest('', algo="sha256", serialize=FALSE)

[1] "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"

> digest('hello world', algo="sha256", serialize=FALSE)

[1] "b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9"

它们与它们的Python等价物相匹配:>>> import hashlib

>>> hashlib.sha256('').hexdigest()

'e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855'

>>> hashlib.sha256('hello world').hexdigest()

'b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9'

如果您的散列在R和Python之间仍然不同,那么您的数据就不同了。这可能是一个微妙的换行符在行尾,或字节顺序标记在开始。

在Python中,检查print(repr(x))的输出,将数据表示为Python字符串文本;这将不可打印的字符显示为转义序列。我相信R也有类似的调试工具。R和Python在使用它们的交互模式时都将字符串值作为表示。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值