gpt4 book ai didi

r - R "digest"包中的 HMAC 和换行符错误

转载 作者:行者123 更新时间:2023-12-04 10:36:53 26 4
gpt4 key购买 nike

我正在尝试实现 R 代码以与亚马逊的 Alexa Web 信息服务交互。身份验证系统需要针对 key 对文本进行 HMAC 散列,但是当文本包含换行符时,“摘要”包似乎存在问题。

R 中的最小示例:

library(digest)
hmac("foo", "Hello", algo="sha256")

返回 fa687477a49ebadb72eb1103db6128061437a2501db7ee7f0cbbb79ceaa2fcfc ,而
hmac("foo", "Hello\nGoodbye", algo="sha256")

返回 eaf58b106ffdbb4af976b6b87e14d231e090f7bc144f0b56f06980c827444288

如果我检查 http://www.freeformatter.com/hmac-generator.html ,第一种情况给出相同的哈希值,但第二种情况给出 967b28392b2ddc871bb69417e916fa619c935840cc2b9507ecf4da3f748bd1ba

我错过了一些明显的东西吗?

提前致谢!!!

最佳答案

欢迎来到奇妙的换行世界!当您在文本中包含换行符时,该网站似乎使用 Windows 样式的行尾。因此,如果您这样做,您可以获得“967b”值

hmac("foo","Hello\r\nGoodbye",algo="sha256")
# [1] "967b28392b2ddc871bb69417e916fa619c935840cc2b9507ecf4da3f748bd1ba"

我猜你可能在 Mac 或 Linux 机器上。我认为 \n 字符应该根据操作系统解析为正确的值。也许在做
hmac("foo","Hello\x0D\x0AGoodbye",algo="sha256")

明确说明您需要在所有系统上的文件中执行的行结尾可能会更好。

关于r - R "digest"包中的 HMAC 和换行符错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24521227/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com