数据包完整性校验总结

在线体验各类最新模型,更有模型 免费Token 额度领取!
立即体验
简介: 为了保证分发的数据包的一致性,常常需要增加数据包校验码,这样可以减少因为传递过程中造成的数据包不能使用问题,比如jar包的__invalid distance code__问题。在开始讨论数据包校验码生成方法前,先了解一下基本概念。 # 核心技术 ## 哈希 哈希是一种不可逆的映射,可以将数据经过哈希算法计算得到一个哈希值,而无法再将该哈希值反映射得到原始的数据。一般来说,不同的数据得到的哈

为了保证分发的数据包的一致性,常常需要增加数据包校验码,这样可以减少因为传递过程中造成的数据包不能使用问题,比如jar包的__invalid distance code__问题。在开始讨论数据包校验码生成方法前,先了解一下基本概念。

核心技术

哈希

哈希是一种不可逆的映射,可以将数据经过哈希算法计算得到一个哈希值,而无法再将该哈希值反映射得到原始的数据。一般来说,不同的数据得到的哈希值是不同的,但也有极少的可能会出现碰撞,这极小的概率在这里不予考虑
在网络数据完整性校验中使用的哈希算法通常包括:MD5, SHA。

数据完整性校验

数据完整性校验一般使用哈希算法对数据进行哈希得到数据包的一个哈希值,发布到网上。用户下载数据包后,需要再次对结果的数据包计算哈希值,如果计算的结果与网上公布的一致,即代表数据包完整。

生成哈希值方法

shell命令

  • MacOS
md5 source_file.tar
shasum source_file.tar
  • CentOS / Ubuntu
md5sum source_file.tar
sha1sum source_file.tar

maven打包

执行install命令时可以选择自动生成md5与sha1文件(在本地maven库里,例如~/.m2/repository)

mvn install -DcreateChecksum=true

或在pom文件中增加插件

<plugin>
  <artifactId>maven-install-plugin</artifactId>
  <version>2.3.1</version>
  <configuration>
    <createChecksum>true</createChecksum>
  </configuration>
</plugin>

ant打包

采用Checksum工具生成md5与sha1码,需要在build.xml中增加task:

<checksum file="source_file.tar" algorithm="SHA-1" fileext=".sha1" forceOverwrite="yes"/>
<checksum file="source_file.tar" algorithm="MD5" fileext=".md5" forceOverwrite="yes"/>

其中fileext代表生成哈希码文件的后缀

参考

目录
相关文章
|
存储 监控 安全
单点登录的安全性如何保证?有哪些常见的安全风险
单点登录的安全性如何保证?有哪些常见的安全风险
1363 2
|
存储 算法 编译器
如何优化单片机程序里面的C代码方法
如何优化单片机程序里面的C代码方法
447 0
|
4月前
|
运维 前端开发 Android开发
鸿蒙APP的外包开发流程
2026年“纯血鸿蒙”全面落地,鸿蒙APP外包已标准化。全流程涵盖需求评估(多端协同、元服务)、商务签约、UI适配、环境搭建、ArkTS开发、真机云测试、严苛上架审核及源码交付。元服务成低成本高效入口,开发成本降40%-60%。(239字)
|
前端开发 Java 数据库连接
SpringBoot参数校验底层原理和实操。深度历险、深度解析(图解+秒懂+史上最全)
SpringBoot参数校验底层原理和实操。深度历险、深度解析(图解+秒懂+史上最全)
SpringBoot参数校验底层原理和实操。深度历险、深度解析(图解+秒懂+史上最全)
|
存储 云安全 供应链
云计算有哪6个未来发展趋势?
在全球云计算产业迅猛增长的背景下,社交网络的普及使其社会化功能成为未来热点。六大发展趋势包括:1) 移动设备推动云计算广泛应用;2) 第三方云平台崛起,提供更多选择;3) 云计算助力企业减少损耗,提升效率;4) 新一轮价格战即将爆发,竞争加剧;5) 云存储成为主流,数据访问更便捷;6) 社交化特征增强,促进企业与客户便捷沟通。云计算正迎来新时代,企业需积极拥抱技术,实现数字化转型。
1486 1
|
数据采集 存储 数据库
数据完整性验证
数据完整性验证
1986 3
|
Java 关系型数据库 API
介绍一款Java开发的企业接口管理系统和开放平台
YesApi接口管理平台Java版,基于Spring Boot、Vue.js等技术,提供API接口的快速研发、管理、开放及收费等功能,支持多数据库、Docker部署,适用于企业级PaaS和SaaS平台的二次开发与搭建。
|
数据采集 JavaScript 前端开发
初始爬虫13(js逆向)
初始爬虫13(js逆向)