Linux Shell 用法(二)校验与加密

使用下列命令计算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
发布了44 篇原创文章 · 获赞 1 · 访问量 1万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章