数据包完整性校验总结

简介: 为了保证分发的数据包的一致性,常常需要增加数据包校验码,这样可以减少因为传递过程中造成的数据包不能使用问题,比如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代表生成哈希码文件的后缀

参考

目录
相关文章
|
存储 算法 编译器
如何优化单片机程序里面的C代码方法
如何优化单片机程序里面的C代码方法
533 0
|
机器学习/深度学习 人工智能 编解码
CES亮点:AI赋能与产业创新 | DALL-E 3、SD等20+图像生成模型综述
随着科技飞速发展,CES(国际消费电子展)已然成为全球科技产业的风向标,每年的CES大会都是业界瞩目的盛事。回顾2024年CES大会,不难发现其亮点纷呈,其中以人工智能的深度赋能为最引人注目之处。AI技术的深入应用成为CES大会上的一大亮点,各大厂商纷纷展示了在AI领域的最新成果。
1209 0
|
SQL 关系型数据库 MySQL
一次性导入千万级数据到Mysql(附源码)
MySql数据迁移、导入,在我们日常开发中,可以说是经常碰到。如果数据量比较小,一般都没什么问题,但是如果是涉及到千万级、亿级的数据量大数据量迁移,这里面就涉及到一个问题:如何快速导入千万数据到MySQL。 下面我们通过对比3种方法,来谈谈MySQL怎么高性能插入千万级的数据。
2952 0
|
7月前
|
运维 前端开发 Android开发
鸿蒙APP的外包开发流程
2026年“纯血鸿蒙”全面落地,鸿蒙APP外包已标准化。全流程涵盖需求评估(多端协同、元服务)、商务签约、UI适配、环境搭建、ArkTS开发、真机云测试、严苛上架审核及源码交付。元服务成低成本高效入口,开发成本降40%-60%。(239字)
|
前端开发 Java 数据库连接
SpringBoot参数校验底层原理和实操。深度历险、深度解析(图解+秒懂+史上最全)
SpringBoot参数校验底层原理和实操。深度历险、深度解析(图解+秒懂+史上最全)
SpringBoot参数校验底层原理和实操。深度历险、深度解析(图解+秒懂+史上最全)
|
存储 云安全 供应链
云计算有哪6个未来发展趋势?
在全球云计算产业迅猛增长的背景下,社交网络的普及使其社会化功能成为未来热点。六大发展趋势包括:1) 移动设备推动云计算广泛应用;2) 第三方云平台崛起,提供更多选择;3) 云计算助力企业减少损耗,提升效率;4) 新一轮价格战即将爆发,竞争加剧;5) 云存储成为主流,数据访问更便捷;6) 社交化特征增强,促进企业与客户便捷沟通。云计算正迎来新时代,企业需积极拥抱技术,实现数字化转型。
1612 1
|
存储 人工智能 搜索推荐
AI 网关基于 IP 地理位置,增强 Prompt 修饰能力
本⽂对 Prompt 的使用方式进行了简单介绍,让大家了解到 Prompt 对于 LLM 的重要性。并尝试在 Prompt 中结合用户 Geo IP 信息,实现 LLM 的个性化回复,提升问答的准确度。
1216 131
|
存储 人工智能 自然语言处理
基于AI的学生视频自动评审系统:技术架构与实现
基于AI的自动化面审系统,旨在提高学生视频作品评审效率,减轻教师负担,确保评审客观公正。系统通过视频上传、处理、分析及反馈生成等模块,运用NLP、语音识别等技术,从语法、流利度、发音三方面智能评估,提供个性化反馈,保障数据安全与隐私。
1304 6
|
移动开发 缓存 前端开发
H5画布 canvas(三)canvas 库 Konva.js 的使用
H5画布 canvas(三)canvas 库 Konva.js 的使用
2415 0
H5画布 canvas(三)canvas 库 Konva.js 的使用
|
数据采集 存储 数据库
数据完整性验证
数据完整性验证
2078 3

热门文章

最新文章