问题描述
我可以从终端检查文件的 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
您也可以从文件中读取 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
文件。