源起
从国内的第三方网站下载了Android sutiod的zip包下载地址,为了安全起见还是得跟Android官网上的对应的zip包的SHA值做下对比。以前是经常使用md5命令的,所以理论在命令行下应该是有对应的命令行工具可以计算SHA值的。后来搜索到可以用 shasum命令来完成我的需求。
我们man一下shasum命令,注:需要注意-a参数,即计算文件散列值时可以选择具体的算法
SHASUM(1) Perl Programmers Reference Guide SHASUM(1)NAMEshasum - Print or Check SHA ChecksumsSYNOPSISUsage: 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--tag create a BSD-style checksum-t, --text read in text mode (default)-U, --UNIVERSAL read in Universal Newlines modeproduces same digest on Windows/Unix/Mac-0, --01 read in BITS modeASCII '0' interpreted as 0-bit,ASCII '1' interpreted as 1-bit,all other characters ignoredThe following five options are useful only when verifying checksums:--ignore-missing don't fail or report status for missing files-q, --quiet don't print OK for each successfully verified file-s, --status don't output anything, status code shows success--strict exit non-zero for improperly formatted checksum lines-w, --warn warn about improperly formatted checksum lines-h, --help display this help and exit-v, --version output version information and exitWhen verifying SHA-512/224 or SHA-512/256 checksums, indicate thealgorithm explicitly using the -a option, e.g.
实践
PS: sha256算法的散列值是256个byte,即256/8=32字节,1个字节用2位16制表示,即散列值的长度为64个字符
对比一下官网的信息,good,安全较验通过!
回顾
md5与sha256的区别
计算字符串长度
${#字符串变量}