【问题标题】:R digest::digest() does not return expected hashesR digest::digest() 不返回预期的哈希值
【发布时间】:2020-12-15 19:47:54
【问题描述】:

我正在试用 R 的摘要包。我正在使用多个函数(digest(..., algo = ...), sha1(), sha1_digest()),但它们都没有返回与我通过在线哈希生成器检查的相同的哈希值。哈希生成器“彼此之间”是一致的,所以我认为我没有正确地做某事,但我不确定。

例如: 我的 R(和 https://rdrr.io/rforge/digest/)返回这个:

> digest::digest("aaa", algo =  "crc32")
[1] "acdd051e"

https://crc32.online/ 给出相同的结果

"aaa"
f007732d

sha1 和 md5 仍然存在差异。 我试图用谷歌搜索这个问题,但没有显示“R 摘要不匹配”的相关匹配...

【问题讨论】:

    标签: r hash


    【解决方案1】:

    您需要在digest() 的参数中指定serialize=FALSE,否则它会在处理之前序列化输入(将任意对象转换为ascii)。这会改变输入字符串。使用serialize = FALSE,你得到的和引用方法一样:

    digest::digest("aaa", algo =  "crc32", serialize = FALSE)
    #> [1] "f007732d"
    

    reprex package (v0.3.0) 于 2020 年 12 月 15 日创建

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-03-09
      • 1970-01-01
      • 2021-07-29
      • 1970-01-01
      • 1970-01-01
      • 2013-10-18
      • 1970-01-01
      • 2014-02-06
      相关资源
      最近更新 更多