gpt4 book ai didi

hash - 在 Mathematica 中以字符串形式给出的数据的加密散列(sha1 或 md5)

转载 作者:行者123 更新时间:2023-12-04 17:59:16 25 4
gpt4 key购买 nike

“abc”的 sha1 哈希是

a9993e364706816aba3e25717850c26c9cd0d89d

让 Mathematica 告诉您的唯一方法 Hash功能是
Hash[abc, "SHA"]   // IntegerString[#, 16]&

(IntegerString 只是像大多数实现一样以十六进制输出它。)

注意
Hash["abc", "SHA"]

给出 "\"abc\""的哈希值——不是你想要的!
事实上,我们能够得到“abc”的正确散列的唯一原因是符号 abc的Mathematica表示。恰好是字符串“abc”。
对于绝大多数字符串,情况并非如此。

那么如何在 Mathematica 中获取任意字符串的哈希值呢?

最佳答案

您可以使用 StringToStream 不那么笨拙地做到这一点。而事实是FileHash可以将输入流作为参数。那么你的 sha1功能变为:

sha1[s_String] := Module[{stream = StringToStream[s], hash},
hash = FileHash[stream,"SHA"];
Close[stream];
hash]

关于hash - 在 Mathematica 中以字符串形式给出的数据的加密散列(sha1 或 md5),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1854491/

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