📅  最后修改于: 2023-12-03 15:41:27.039000             🧑  作者: Mango
SHA1 是一种加密算法,它能将任意长度的数据加密成一个长度固定(40 个字符)的哈希值。SHA1 通常用于验证文件的完整性,也常用于密码存储等安全场景。
假设我们有一个文本文件 test.txt
,我们需要获取它的 SHA1 值,可以按照以下步骤操作。
$ shasum -a 1 test.txt
这条命令会输出 test.txt
的 SHA1 值,例如:
6207db808e97312b2d8470ae6e06e7ba8c256d2a test.txt
其中,-a 1
表示使用 SHA1 算法, test.txt
是要加密的文件名。
为了方便使用,我们通常只需要提取 SHA1 值,并去掉文件名信息。可以使用以下命令:
$ shasum -a 1 test.txt | cut -d ' ' -f1
这条命令会输出 test.txt
的 SHA1 值,不包含文件名信息,例如:
6207db808e97312b2d8470ae6e06e7ba8c256d2a
其中,cut -d ' ' -f1
表示按空格分割字符串,并取第一列。
如果要加密的文件比较大,可以使用 shasum
命令的 -b
选项,开启二进制模式,提高加密效率。例如:
$ shasum -a 1 -b bigfile.zip
如果要批量加密多个文件,可以使用 find
命令配合管道操作,例如:
$ find . -type f -name '*.txt' | xargs shasum -a 1 | cut -d ' ' -f1
这条命令会列出当前目录下所有扩展名为 txt
的文件,并逐一对其进行 SHA1 加密,最后输出所有文件的 SHA1 值。其中,xargs
命令用于将多个命令行参数合并成一行。
以上就是在终端上获取 SHA1 值的方法。虽然现在有很多图形化工具也能实现类似功能,但了解终端操作仍然是程序员必备的技能之一。