网上分享文件如何科学校验?请看cksum或者shasum(代码片段)

雷学委 雷学委     2022-12-11     240

关键词:

小白最近学习编程学烦了,看到学委之前写了一篇节约3小时之间试水Unity的,直接过来找我要了!(要么是懒得下安装包,不然是太依赖学委了,都不好!)

刚好我手上有一个Unity安装包, 就发给他了。

不知道啥原因,他说传输后打不开?

怎么可能呢?

接着,再传了一次还是打不开。

这让学委一下子想到了:得cksum一下

1) 先cksum工具本地算一次,得到校验码
2)然后在接受的系统中又计算一次,得到文件校验码
3)当两个数字校验相等,文件被认为是被正确传输了

使用就像下面一样:

cksum 文件名


第一个数字:2283207869 //为校验码
第二个数字: 844948304 // 为文件字节数

然后我让小白在本机跑一边cksum,发结果给我,一看他那边的校验数字居然是 33303330333 ,这个数字,稍微思考一下就很离谱!

很明显Unity包传输出错了。

这次我直接拷贝U盘给他了,并且进入U盘对应目录进行cksum了,万无一失!

好了,小白可以先走了。亲爱的读者我们继续学习一下cksum吧,很多使用的。

cksum官方补充

Linux cksum命令用于检查文件的CRC是否正确。确保文件从一个系统传输到另一个系统的过程中不被损坏。

CRC是一种排错检查方式,该演算法的标准由CCITT所指定,至少可检测到99.998%的已知错误。指定文件交由cksum演算,它会回报计算结果,供用户核对文件是否正确无误。
https://www.man7.org/linux/man-pages/man1/cksum.1.html

这个算法不继续介绍,本文谈谈应用。

更多应用 - sha512cksum

sha512cksum 比cksum(32位 cksum)更加可靠,因为是512位哈希cksum。

比如我们常见的maven(Java项目管理工具):

下图的表格第二列为下载链接,第三列为每一个包的sha512cksum的签名。

上面页面的链接可以点击【maven下载页面】

我们可以通过点击上面的链接下载,比如这个:maven tar gz包

通过这个链接下载然后跑shasum在本地校验一次。

shasum -a 512 apache-maven-3.8.1-bin.tar.gz
#得到这个签名:0ec48eb515d93f8515d4abe465570dfded6fa13a3ceb9aab8031428442d9912ec20f066b2afbf56964ffe1ceb56f80321b50db73cf77a0e2445ad0211fb8e38d

这个值跟第三列链接的文件【点这里下载sha512】内容必须一致.

操作复杂,学委准备了下面的脚本。

#!/bin/sh
#雷学委的demo代码
#仅支持macbook
url=https://mirror-hk.koddos.net/apache/maven/maven-3/3.8.1/binaries/apache-maven-3.8.1-bin.tar.gz
#url_sha512=$url.sha512
url_sha512=https://downloads.apache.org/maven/maven-3/3.8.1/binaries/apache-maven-3.8.1-bin.tar.gz.sha512
curl $url_sha512 -o maven.tar.gz.sha512
curl $url -o maven.tar.gz
shasum -a 512  maven.tar.gz

读者可以运行这个脚本试试,最好的验证效果如下图:

更多场景

多文件迁移校验

通常是用在大量的打包数据迁移,生成每个文件的数字签名。

部署制品的校验

做Java的同学知道一个叫做Nexus的依赖仓库,不止可以放jar,还能放tgz包,我们通常会生成tgz包的同时,进行sha512把签名结果存到文件一并传到nexus上面。

当我们拿tgz文件部署的时候,同时下载tgz和sha512,本地校验,保证了部署安装的包跟实际交付的一致。

linux中的cksum如何通过java实现

...页中超链接的标题和链接的结果参考技术Acksum命令是检查文件的CRC是否正确,确保文件从一个系统传输到另一个系统的过程中不被损坏。这种方法要求校验和在源系统中被计算出来,在目的系统中又被计算一次,两个数字进行比... 查看详情

cksum可以判断文件是不是一致吗?

是的。cksum命令是检查文件的CRC是否正确,确保文件从一个系统传输到另一个系统的过程中不被损坏。这种方法要求校验和在源系统中被计算出来,在目的系统中又被计算一次,两个数字进行比较,如果校验和相等,则该文件被... 查看详情

linux命令(234)——cksum命令(代码片段)

...3.选项说明4.常用示例参考文献1.命令简介cksum计算并验证文件校验和。chsum打印或验证校验和。缺省情况下使用32位CRC算法。CRC校验码确保文件从一个系统传输到另一个系统的过程中不被损坏。这种方法要求校验和在源系统中被计... 查看详情

linux命令(234)——cksum命令(代码片段)

...3.选项说明4.常用示例参考文献1.命令简介cksum计算并验证文件校验和。chsum打印或验证校验和。缺省情况下使用32位CRC算法。CRC校验码确保文件从一个系统传输到另一个系统的过程中不被损坏。这种方法要求校验和在源系统中被计... 查看详情

现在网上的win7安装程序都有md5值,sha1和crc是啥意思?

...是为了验证文件是否被修改过,只要你下载的文件的MD5和网上公布的一样就行CRC是一种校验SHA1你可以百度一下其实都是为了验证文件是否一致 参考技术CSHA1、MD5、CRC都是用来校验文件的完整性以及是否有被篡改过的。其实以SHA1... 查看详情

115sha1链接怎么转换磁力

...链接后可点击转存,选择要转存的目录即可。6、如果是网上的资源,只要在磁力资源网或BT种子网能找到资源就有相关磁链,如果是原创资源,则必须文件在本地,做成BT种子文件用BT软件分享到网上或到BT资源网站发布,之后自... 查看详情

win10如何使用powershell校验文件

...按钮右键菜单的默认命令行工具。这款工具可以用于校验文件,例如计算MD5、SHA1值等。具体方法如下:1、默认普通验证(SHA256)命令:Get-FileHash文件路径|Format-List2、特殊需求验证Get-FileHash文件路径-Algorithm验证内容|Format-List提... 查看详情

2018/03/10每日一个linux命令之cksum

...一个Linux命令2018-03-10   Linux命令 cksum   cksum[文件]      今天楼下的一个大妈去世了,不仅感叹,现如今,真的和以前不一样了,楼上楼下都不知道住的是谁?      cksum命令用于检查文件的CRC是否正... 查看详情

实现文件秒传(代码片段)

...校验和数据签名秒传原理场景1.用户上传2.离线下载3.好友分享关键点1.文件的Hash值(MD5,Sha1)每次文件上传到云存储服务,会自动计算文件的HASH值,下一次用户上传, 查看详情

获取文件 SHA256 哈希码和校验和

】获取文件SHA256哈希码和校验和【英文标题】:GetafileSHA256HashcodeandChecksum【发布时间】:2016-11-2306:47:34【问题描述】:之前我向question询问了有关组合SHA1+MD5的问题,但在那之后我了解到计算SHA1然后MD5的lagrge文件并不比SHA256快。... 查看详情

文件校验(代码片段)

 造冰箱的大熊猫@cnblogs2019/2/20 emmmm,在这里把文件校验相关的信息汇总一下 什么是文件校验所谓文件校验,就是对文件“验明正身”。攻击者会将恶意代码添加到某个受大众欢迎的软件中,然后发布到网络上。... 查看详情

sh检查文件sha256校验和(代码片段)

查看详情

校验文件md5_sha1_sha256值

win中查看MD5值:certutil-hashfile文件名 MD5查看SHA1certutil-hashfile文件名 SHA1查看SHA256certutil-hashfile文件名 SHA256linux中md5sum文件名 查看详情

windows下有没有cksum功能的小工具?

如题,除WinXs,Windows下可以校验一下文件,有没有像unix和linux上面的cksum功能,类似的小工具?有,UnxUtils就包含cksum,将usr\local\wbin目录添加到系统环境变量PATH中就可以用了参考技术A应该有 查看详情

powershell校验哈希

...软件的情况下,我们也可在Windows中直接使用Powershell校验文件多种算法的哈希值,其中就包括:SHA1、SHA256、SHA384、SHA512、MACTripleDES、MD5、RIPEMD160算法。  使用起来也非常简单,大家可以参考如下示例:Get-FileHash[-Path文件路径][-... 查看详情

linux命令之校验文件sha1sum(代码片段)

...um,其用法和md5sum的类似。注:该命令有助于核实文件的完整性,通常在网络传输文件的过程中,可能造成文件丢失,所以可以用来检查文件传输是否完整。语法该命令的语法如下:sha1s 查看详情

hash校验工具md5sha1sha256命令行工具

...nbsp;更多个人分类: hash加密 certutil-hashfile <文件名> <hash类型>如: Windows下使用自带certutil工具校验文件MD5、SHA1、SHA256摘自:https://www.jianshu.com/p/6384e7f42175example.jpg比如在Androidfilehostdotcom上下载的刷机文... 查看详情

文件的检查和以及字节数

CKSUMNAME(名称)cksum-一个文件的检查和以及字节数SYNOPSIS(总览)../src/cksum[OPTION]...[FILE]...DESCRIPTION(描述)输出CRC(循环冗余校验码)检查和以及每个FILE的字节数.--help显示帮助并退出--version输出版本信息并退出  查看详情