png中的crc32

本文介绍了PNG图片中的CRC32校验和计算原理,包括CRC的基本概念、PNG中的CRC32处理差异、数据处理注意事项以及实际算法实现。通过对原始数据的特定处理和多项式除法,可以计算并更新PNG文件的CRC32值,确保数据完整性。
摘要由CSDN通过智能技术生成
 找点东西来研究一下吧,把本来自己眼前的一座高高的大山,挖空踩扁,再使劲跺上几脚是不是很爽!哈哈


最近几天钻了好一阵CRC(循环冗余校验),搞不懂他是怎么回事???在网上找了几篇文章也是说的不清楚,还好现在弄明白了

我要计算png图片中的crc32校验和,因为改变png图片中某数据块的数据后,按照标准规定需要从新计算校验和写入文件(实际上不更新校验和,图片一般也能用)。

 

1> crc32原理 : 带模2运算的多项式长除法,求余数

基本思路:对于一串数据d,d的二进制序列对应的多项式除以32位生成多项式g(x)

X^32+X^26+X^23+X^22+X^16+X^12+X^11+X^10+X^8+X^7+X^5+X^4+X^2+X+1

对应于0X04c11db7,X^32的系数隐藏在算法中。

 

2> png中的crc32原理: 与标准crc32有所不同,对数据处理前后各做了一些处理

(初始余数寄存器为全一,最终余数取反(据w3c标准规定))

 

3> 注意:

对数据流的对待方式为,原数据以八位的字节流为例,每一字节的高位被视为低位,每一字节的低位被视为高位,全部数据从高位到低位的顺序处理,例


原数据:10010110 11001101 10101110 10001011 (1)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值