当前位置: 首页>>技术教程>>正文


如何自动比较大量文件的 md5sum 哈希值

,

问题描述

我可以从终端检查文件的 md5sum 哈希值,如下所示:

$ md5sum my_sensitive_file
8dad53cfc973c59864b8318263737462 my_sensitive_file

但困难的部分是将哈希值与精确值进行比较。

任何人都很难将大量文件的 32 个字符输出与原始/准确的哈希值进行比较。首先,工作会非常单调,而且错误范围很大。

\\n

Is it possible to automate the comparing process, preferably in CLI?

\\n

最佳思路

例如,我有一个名为 test_binary 的文件。

文件测试的MD5和为ef7ab26f9a3b2cbd35aa3e7e69aad86c

要测试它自动运行:

$ md5sum -c <<<"ef7ab26f9a3b2cbd35aa3e7e69aad86c *path/to/file/test_binary"
test_binary: OK

或者

$ echo "595f44fec1e92a71d3e9e77456ba80d1  filetohashA.txt" | md5sum -c -

引自 男人

   -c, --check
          read MD5 sums from the FILEs and check them

引用自维基百科

\\n

Note: There must be two spaces between each md5sum value and filename\\n to be compared. Otherwise, the following error will result: “no\\n properly formatted MD5 checksum lines found”.

\\n

Link to wiki

您也可以从文件中读取 md5 哈希值

$ md5sum -c md5sum_formatted_file.txt

它需要以下格式的文件:

<md5sum_checksum><space><space><file_name>

关于MD5和哈希后的*<space>。 man 中有一点注释:

 When  checking,  the
       input  should  be a former output of this program.  The default mode is
       to print a line with checksum, a character indicating input  mode  ('*'
       for binary, space for text), and name for each FILE.

这是 stackoverflow 的链接,我在其中找到了问题的答案,为什么我们有时应该区分 binary 文件和 text 文件。


参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/14121.html,未经允许,请勿转载。