下载文件时检查并验证MacOS X的md5/sha1/sha256校验和
时间:2020-01-09 14:16:57 来源:igfitidea点击:
从Internet下载文件时,如何验证Apple MacOS X的md5或sha1或sha256校验和?
在某些情况下,匹配下载文件的校验和是必要且有用的。
主要原因是要确保可以验证传输正常。
传输过程中下载的文件没有损坏或修改。
您需要使用shasum命令来计算或验证SHA消息摘要。
校验和只不过是代表一段已存储或传输的数字数据中正确数字之和的数字,以后可以与之进行比较以检测数据中的错误。
用于检查和验证MacOS X的md5/sha1/sha256校验和的语法
要打印或检查SHA校验和,请使用以下语法:
shasum -a algorithm filename shasum -a algorithm -c input.txt
其中:
-a algorithm
:可以是1(默认),224、256、384和512。-c input.txt
:对照通常存储在文本文件中的给定列表检查SHA总和。
例子
打开终端应用程序,并使用wget命令获取最新的固件:
$ wget http://www.mediafire.com/file/ff04qcobujqek27/RT-AC87U_380.66_6.zip
验证文件:
$ ls -lh RT-AC87U_380.66_6.zip
使用unzip命令解压缩文件:
$ unzip RT-AC87U_380.66_6.zip
输出示例:
Archive: RT-AC87U_380.66_6.zip inflating: RT-AC87U_380.66_6.trx inflating: README-merlin.txt inflating: Changelog.txt inflating: sha256sum.sha256
您的固件文件名为RT-AC87U_380.66_6.trx。
您可以使用sha256sum.sha256文件验证其完整性,如下所示:
$ shasum -a 256 -c sha256sum.sha256
输出示例:
RT-AC87U_380.66_6.trx: OK
如果文件在传输过程中被修改,或者被远程服务器上的恶意软件修改,您将收到一条错误消息,内容如下:
$ shasum -a 256 -c sha256sum.sha256
输出示例:
RT-AC87U_380.66_6.trx: FAILED shasum: WARNING: 1 computed checksum did NOT match
您必须使用rm命令立即删除文件:
$ rm RT-AC87U_380.66_6.zip RT-AC87U_380.66_6.trx
要为名为foo.iso的iso文件计算SHA-256校验和,请运行:
$ shasum -a 256 foo.iso
验证SHA-1校验和
语法为:
$ shasum -a 1 -c input.txt
或者
$ shasum -a 1 filename
或者
$ shasum -a 1 centos.iso
要查看有关shasum命令的更多信息,请执行:
$ shasum --help
输出示例:
Usage: shasum [OPTION]... [FILE]... Print or check SHA checksums. With no FILE, or when FILE is -, read standard input. -a, --algorithm 1 (default), 224, 256, 384, 512, 512224, 512256 -b, --binary read in binary mode -c, --check read SHA sums from the FILEs and check them -t, --text read in text mode (default) -U, --UNIVERSAL read in Universal Newlines mode produces same digest on Windows/Unix/Mac -0, --01 read in BITS mode ASCII '0' interpreted as 0-bit, ASCII '1' interpreted as 1-bit, all other characters ignored -p, --portable read in portable mode (to be deprecated) The following two options are useful only when verifying checksums: -s, --status don't output anything, status code shows success -w, --warn warn about improperly formatted checksum lines -h, --help display this help and exit -v, --version output version information and exit When verifying SHA-512/224 or SHA-512/256 checksums, indicate the algorithm explicitly using the -a option, e.g. shasum -a 512224 -c checksumfile The sums are computed as described in FIPS PUB 180-4. 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 type (`*' for binary, ` ' for text, `U' for UNIVERSAL, `^' for BITS, `?' for portable), and name for each FILE. Report shasum bugs to [email protected]
另一个选择:openssl命令
您可以如下使用openssl命令来获取和验证校验和。
使用openssl命令验证SHA-1校验和
$ openssl sha1 filename $ openssl sha1 ~/isoimages/unetbootin-mac-625.dmg `SHA1(/Users/veryv/isoimages/unetbootin-mac-625.dmg)= 8a44b5095ed9b05f8a2643a5df91e932467a0e7`
使用openssl命令验证SHA256校验和
$ openssl dgst -sha256 filename $ openssl dgst -sha256 ~/isoimages/CentOS-7-x86_64-Minimal-1611.iso `SHA256(/Users/veryv/isoimages/CentOS-7-x86_64-Minimal-1611.iso)= 27bd866242ee058b7a5754e83d8ee8403e216b93d130d800852a96f41c34d86a`
使用openssl命令验证MD5校验和
$ openssl md5 filename $ openssl md5 /etc/passwd `MD5(/etc/passwd)= 5e7f80888f3d491c4963881364048c24`