TCP的“校验和“是做什么的?它和PHP的md5()有什么区别?
一、TCP校验和是什么干什么TCP校验和是放在TCP头部里的一段简短校验码。拼图比喻你寄出每一块拼图碎片TCP分段在碎片背面快速写一个简易的校验验证码。收件人拿到这块碎片按同样的算法重新算一遍验证码对比是否一致。如果不一致说明这块碎片在运输途中上面的图案字节发生损坏比特翻转0变1、1变0直接丢弃这个分段等待发送方超时重传。核心作用检测传输过程中TCP分段的数据TCP头 TCP载荷有没有发生比特错误。网线、网卡、电磁干扰有可能导致个别字节在传输途中出错。校验和用来发现这类损坏。校验和校验范围TCP头部 TCP携带的业务数据比如PHP发出的SQL字符串计算在发送端内核TCP模块完成接收端内核TCP模块做校验校验失败 → 直接丢弃该分段不会给应用层MySQL/PHP通知依靠后续超时重传机制补发。注意TCP校验和只是差错检测不能修复错误坏包只能丢掉重传。二、PHPmd5()是什么md5是密码学哈希摘要算法。给一段原始数据算出一个固定128bit32位十六进制字符串的指纹。md5(SELECT name FROM user WHERE id1);用途对完整业务数据生成唯一指纹用来做完整性校验、比对文件。三、核心区别5个维度面试重点1. 运行位置不同TCP校验和操作系统内核的TCP协议栈自动计算。PHP代码完全感知不到不需要程序员写任何代码。每一个TCP分段都会单独算校验和。md5()PHP应用层函数在用户代码里手动调用。是你业务代码主动执行。2. 计算粒度不同TCP校验和按每一个TCP分段单独计算。一大段SQL被TCP切成多个拼图碎片每一块碎片单独算自己的校验和。只负责这一小段。md5针对完整的原始字符串整体计算。必须拿到全部完整数据一次性算出整个文本的指纹。你不能单独对一小块碎片算md5然后简单拼接得到整体md5。3. 算法设计目标不一样TCP校验和轻量、快速。是简单的16位累加求反。硬件网卡就能直接计算几乎不耗性能。缺点检错能力有限存在碰撞概率两段不同数据算出同样校验和不用于防人为篡改只抓线路随机比特错误。md5密码学哈希设计目标是尽量保证不同数据摘要不同。理论上可以用来校验文件有没有被人为修改。缺点计算开销更大md5已经被破解不能用于安全签名仅适合简单文件完整性比对。4. 作用场景不一样TCP校验和网络链路传输层对付线路随机损坏。只管数据包在路上传输时意外损坏。不防人为恶意修改。如果中间人刻意修改数据包同步修改TCP校验和TCP校验和无法发现。md5业务层。比如PHP上传文件后服务端计算md5和客户端传来的md5比对确认整个文件有没有改动。5. 出错之后的处理逻辑不同TCP校验和出错内核直接丢弃包依靠TCP的ACK、超时重传自动补发PHP完全不知道这件事。md5校验失败是你的PHP业务代码判断由你自己写代码决定怎么处理抛出异常、重试、报错返回给用户操作系统不会自动处理。四、结合PHP连MySQL例子串起来PHP发送SQL语句SELECT name FROM user WHERE id1内核TCP把这条SQL切成分段每一段单独计算TCP校验和放到TCP头部IP包通过网络传输。如果电磁干扰导致某个字节翻转MySQL服务器操作系统收到这个分段重新计算校验和比对发现不一致直接丢弃这个包客户端长时间收不到ACK触发超时重传重新发送这一段。整个过程PHP代码无感知。如果你在PHP代码里写md5($sql)那是另外一回事这是业务层面对整条SQL生成指纹不是网络传输用的。一句话浓缩TCP校验和是操作系统内核给每一小段网络数据快速算的简易校验码用来检测网线传输的随机比特损坏PHP md5()是应用层的密码学摘要针对完整数据生成指纹用于业务层面校验文件/内容完整性算法、运行位置、粒度、安全目标完全不一样。

相关新闻

Aspose.Cells v24.8.0:.NET 8 高性能Excel引擎实战指南

Aspose.Cells v24.8.0:.NET 8 高性能Excel引擎实战指南

简介:Aspose.Cells for .NET v24.8.0 是一款面向 .NET 开发者的专业级 Excel 文件处理库,适用于需在服务器端或无 Office 环境中实现 Excel 创建、编辑、公式计算、图表渲染及 PDF 转换等高阶操作的中高级开发场景。资源包共41个文件,含17个核…

2026/10/13 3:30:51 阅读更多 →
2、性能指标定义:IOPS、吞吐量、延迟、并发数的定义与测量方法

2、性能指标定义:IOPS、吞吐量、延迟、并发数的定义与测量方法

IOPS、吞吐量、延迟、并发数这四个指标,就像汽车的四个轮子——少一个都跑不稳。今天咱们就把它们掰开揉碎了讲清楚。 2.1 IOPS:每秒能处理多少个I/O请求 IOPS,全称 Input/Output Operations Per Second,翻译过来就是「每秒输入输出操作次数」。说白了,它衡量的是存储系…

2026/10/13 3:30:51 阅读更多 →
Python端口扫描与终端监控实战:从三次握手到课程设计

Python端口扫描与终端监控实战:从三次握手到课程设计

简介:这是一份面向网络安全课程设计场景的端口监控程序完整源码,基于MFC对话框框架实现,可对指定IP地址、指定端口与自定义线程数执行多线程端口扫描,适合高校信息安全、网络工程等专业学生作为课程设计或实验参考。文件共17个&am…

2026/10/13 3:30:51 阅读更多 →

最新新闻

DRF接口设计实战:十大接口标准化写法与视图家族选型指南

DRF接口设计实战:十大接口标准化写法与视图家族选型指南

1. 从“能跑通”到“敢上线”:DRF接口设计的真实分水岭刚接触Django REST Framework(后面统一叫DRF)的人,几乎都会经历同一个阶段:照着文档把序列化器、视图、路由拼起来,接口能返回JSON,就觉得…

2026/10/13 13:33:14 阅读更多 →
神经网络计算过程:从前向传播到硬件执行的全链路拆解

神经网络计算过程:从前向传播到硬件执行的全链路拆解

1. 这不是黑箱,是可拆解的流水线:从“神经网络的计算过程”说起很多人第一次听说“神经网络”,脑子里立刻浮现出一堆密密麻麻的节点和箭头,再配上“深度学习”“反向传播”这类词,下意识就觉得——这东西得是数学博士才…

2026/10/13 13:33:14 阅读更多 →
麻将图像识别实战:细粒度分类+空间定位+截屏处理闭环

麻将图像识别实战:细粒度分类+空间定位+截屏处理闭环

简介:本资源是一套基于VC2010实现的麻将图像识别实战项目,面向计算机视觉初学者与C图像处理开发者,解决屏幕截取麻将牌面后自动识别牌型(如筒、条、万、字牌)的核心问题,适用于智能麻将桌辅助系统、游戏AI开…

2026/10/13 13:33:14 阅读更多 →
2026国产协作工具实测:高性价比选型指南

2026国产协作工具实测:高性价比选型指南

1. 先聊清楚:2026年为什么还要专门测一轮国产协作工具 1.1 国产协作软件这几年的变化 这两年聊到团队协作工具,圈子里绕不开的名字已经从早期的"外资三件套"变成了PingCode、飞项、板栗看板这类国产选手。早个五六年,大家选协作工…

2026/10/13 13:33:14 阅读更多 →
Kubernetes弹性伸缩实战:HPA、VPA与集群自动伸缩全解析

Kubernetes弹性伸缩实战:HPA、VPA与集群自动伸缩全解析

Kubernetes弹性伸缩这套东西,我前前后后折腾了快三年。最开始以为它就是给Deployment配个HPA,CPU到了80%就多开几个Pod,后来才发现这套体系的深度远不止于此。如果你也在维护K8s集群,或者正准备给业务加上弹性伸缩能力&#xff0c…

2026/10/13 13:33:14 阅读更多 →
电赛捡球小车鲁棒性设计:STM32+OpenMV嵌入式运动控制实战

电赛捡球小车鲁棒性设计:STM32+OpenMV嵌入式运动控制实战

简介:本资源为2024年全国大学生电子设计竞赛‘捡球小车’赛题的完整工程实现与配套资料,面向电赛备赛学生、嵌入式初学者及智能车实践爱好者,聚焦自动循迹、球体识别与机械抓取等核心功能的软硬件协同实现。压缩包共344个文件,涵盖…

2026/10/13 13:32:12 阅读更多 →

日新闻

物联网系统集成避坑指南:从选型到验收的关键要点

物联网系统集成避坑指南:从选型到验收的关键要点

做了这么多年物联网系统集成的项目,我最大的感受是,大部分坑不是出在技术前沿,而是出在一些看起来很平常的地方。设备选了便宜的、协议没问清楚、现场没摸透、验收标准写得含糊——这些细枝末节,最后都会变成延期、超支和扯皮的大…

2026/10/13 0:00:57 阅读更多 →
ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

如果你玩ESP32有一阵子了,很难不碰到舵机控制这道坎。做智能小车要转方向,做机械臂要抬关节,做云台要偏航俯仰,背后都是同一个东西在干活:舵机。而我见过太多人卡在“代码能编译、舵机就是不听话”这个阶段&#xff0c…

2026/10/13 0:00:57 阅读更多 →
CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

1. 为什么CAN总线至今仍是工业现场的“硬通货”?——从汽车底盘到智能温室的真实需求你有没有拆过一辆老款燃油车的中控台?或者调试过某高校实验室里那台跑着Modbus协议却频频丢帧的PLC控制柜?又或者,在某个农业物联网项目里&…

2026/10/13 0:00:57 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/13 2:54:56 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/12 0:16:38 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/13 1:58:08 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 21:05:09 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 14:48:49 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 18:11:17 阅读更多 →