gpt4 book ai didi

string - 为什么看似空的文件和字符串会产生 md5sum?

转载 作者:行者123 更新时间:2023-12-02 23:52:49 24 4
gpt4 key购买 nike

考虑以下因素:

% md5sum /dev/null
d41d8cd98f00b204e9800998ecf8427e /dev/null
% touch empty; md5sum empty
d41d8cd98f00b204e9800998ecf8427e empty
% echo '' | md5sum
68b329da9893e34099c7d8ad5cb9c940 -
% perl -e 'print chr(0)' | md5sum
93b885adfe0da089cdf634904fd59f71 -
% md5sum ''
md5sum: : No such file or directory

首先,我对所有这些命令的输出感到惊讶。如果有的话,我希望他们所有人的总和都是相同的。

最佳答案

“nothing”(零长度字符流)的 md5sum 是 d41d8cd98f00b204e9800998ecf8427e,您在前两个示例中看到了这一点。

第三个和第四个示例正在处理单个字符。在“echo”情况下,它是一个换行符,即

$ echo -ne '\n' | md5sum
68b329da9893e34099c7d8ad5cb9c940 -

在 perl 示例中,它是值为 0x00 的单个字节,即

$ echo -ne '\x00' | md5sum
93b885adfe0da089cdf634904fd59f71 -

您可以使用“echo”重现空校验和,如下所示:

$ echo -n '' | md5sum
d41d8cd98f00b204e9800998ecf8427e -

...并使用 Perl,如下所示:

$ perl -e 'print ""' | md5sum
d41d8cd98f00b204e9800998ecf8427e -

在所有四种情况下,您应该期望对相同数据进行校验和得到相同的输出,但不同的数据应该产生截然不同的校验和(这就是重点 - 即使只是一个不同的字符。)

关于string - 为什么看似空的文件和字符串会产生 md5sum?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10909976/

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