使用下列命令计算md5sum:
$ md5sum filename
68b329da9893e34099c7d8ad5cb9c940 filename
如上所示,md5sum是一个长度为32个字符的十六进制串。 我们可以将输出的校验和重定向到一个文件中,以备后用:
$ md5sum filename > file_sum.md5
用生成的文件核实数据完整性:
$ md5sum -c file_sum.md5
# 这个命令会输出校验和是否匹配的信息
如果需要用所有的.md5信息来检查所有的文件,可以这样:
$ md5sum -c *.md5
对目录进行校验
校验和是从文件中计算得来的。对目录计算校验和意味着需要对目录中的所有文件以递归的 方式进行计算。
md5deep或sha1deep命令可以遍历目录树,计算其中所有文件的校验和。你的系统中可能 并没有安装这两个程序。可以使用apt-get或yum来安装md5deep软件包。该命令的用法如下:
$ md5deep -rl directory_path > directory.md5
# -r使用递归遍历
# -l使用相对路径。默认情况下,md5deep会输出文件的绝对路径
其中,-r选项允许md5deep递归遍历子目录。-l选项允许显示相对路径,不再使用默认的绝对
路径。 12
或者也可以结合find来递归计算校验和:
$ find directory_path -type f –print0 | xargs -0 md5sum >> directory.md5 14
用下面的命令进行核实:
$ md5sum -c directory.md5
md5与SHA-1都是单向散列算法,均无法逆推出原始数据。两者通常用于为特定数据生成 唯一的密钥:
$ md5sum file
8503063d5488c3080d4800ff50850dc9 file
$ sha1sum file
1ba02b66e2e557fede8f61b7df282cd0a27b816b file
加密工具
crypt、gpg以及base64
$ crypt <input_file >output_file
Enter passphrase:
我们在命令行上提供口令:
$ crypt PASSPHRASE <input_file >encrypted_file
如果需要解密文件,可以使用:
$ crypt PASSPHRASE -d <encrypted_file >output_file
用gpg加密文件:
$ gpg -c filename
命令会采用交互方式读取口令并生成filename.gpg。使用以下命令解密gpg文件:
$ gpg filename.gpg
``
```csharp
$ base64 filename > outputfile
或者
$ cat file | base64 > outputfile
base64命令可以从stdin中读取。
解码Base64数据:
$ base64 -d file > outputfile
或者
$ cat base64_file | base64 -d > outputfile