网上分享文件如何科学校验?请看cksum或者shasum

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

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


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


怎么可能呢?


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


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


1) 先cksum工具本地算一次,得到校验码

2)然后在接受的系统中又计算一次,得到文件校验码

3)当两个数字校验相等,文件被认为是被正确传输了


使用就像下面一样:


cksum 文件名

image.png

第一个数字: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的签名。


image.png

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

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

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

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

image.png

这个值跟第三列链接的文件【点这里下载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

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

image.png

更多场景

多文件迁移校验

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


部署制品的校验

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


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


目录
相关文章
|
监控 安全 JavaScript
【web渗透思路】框架敏感信息泄露(特点、目录、配置)
【web渗透思路】框架敏感信息泄露(特点、目录、配置)
692 0
【web渗透思路】框架敏感信息泄露(特点、目录、配置)
|
7月前
|
网络安全 数据安全/隐私保护 计算机视觉
2024蓝桥杯网络安全-图片隐写-缺失的数据(0基础也能学会-含代码解释)
2024蓝桥杯网络安全-图片隐写-缺失的数据(0基础也能学会-含代码解释)
|
7月前
|
开发者
找到一个软件著作权源代码材料格式文档生成辅助工具(完全私密,没有代码泄露风险)
截至2023年5月,一款工具已获一万次下载,用户反馈良好。该工具帮助开发者轻松整理软著申请所需的60页源代码,支持多种编程语言,自动处理页眉、页码和格式,减少因格式问题导致的补正。提供《文档鉴别材料》模板和简单两步操作的源代码文档生成器,加快软著注册流程。下载链接包括百度网盘和阿里云盘。
找到一个软件著作权源代码材料格式文档生成辅助工具(完全私密,没有代码泄露风险)
|
存储 测试技术 区块链
区块链投票系统开发源码规则解析
区块链投票系统开发源码规则解析
|
数据采集 前端开发 API
运营商三要素验证原理,这篇文章就够了!
运营商三要素验证原理,这篇文章就够了!
564 0
如何下载一篇文献的所有被引文献(傻瓜式操作,亲测可行,方便快捷,需要教育账号)
如何下载一篇文献的所有被引文献(傻瓜式操作,亲测可行,方便快捷,需要教育账号)
如何下载一篇文献的所有被引文献(傻瓜式操作,亲测可行,方便快捷,需要教育账号)
超过6G的大文件是如何读取的,附源代码。含有网上很少有论述的信息
读取大文件有如下两种方法,一是用fopen打开文件,fgetline循环读取,fclose关闭文件;二是用open打开函数,用lseek获取文件大小,用mmap大文件内存映射,用munmap关闭内存映射,用close关闭文件句柄。方式一教慢,就不再详细描述。主要描述方式二。
|
SQL 数据安全/隐私保护 Perl
金蝶k/3 K3密码对照破解源码
金蝶k/3 K3密码对照破解源码 通过密码对照表进行密码破解 以下是源码:   VERSION 5.00 Object = "{0ECD9B60-23AA-11D0-B351-00A0C9055D8E}#6.
1331 0
|
数据采集 存储 安全
程序人生 - 一文告诉你,爬虫技术到底违不违法,怎么用才合法?
程序人生 - 一文告诉你,爬虫技术到底违不违法,怎么用才合法?
715 0
程序人生 - 一文告诉你,爬虫技术到底违不违法,怎么用才合法?