手动计算CRC和CRC软件计算为啥不一样?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了手动计算CRC和CRC软件计算为啥不一样?相关的知识,希望对你有一定的参考价值。
按照CRC的原理手工计算验证CRC8但结果与验证工具对比不同,谁能告诉我具体错在哪里?
信息码: 0x01
多项式: X8+X5+X4+1
第一步: 0x01右边补8个0 二进制为 1 0 0 0 0 0 0 0 0,多项式为1 0 0 1 1 0 0 0 1.
第二步: 100000000 异或 100110001 得余数 1 1 0 0 0 1
因余数小于 生成多项式,那么 余数即为 CRC码 110001 16进制为0x31
但用了几个验证软件,算出来的都是 0x5e
谁能告诉我,我计算错在哪里?
1、CRC是什么看
CRC,全称Cyclic Redundancy Code,意为循环冗余码校验。它是利用除法及余数的原理来作错误侦测的。如果一对文件有不同的CRC,那么可以肯定的是它们的内容是不同的。如果他们有匹配的CRC,那么很有可能其内容匹配。除了读取每个文件的每个字节来计算CRC找出文件差异,Beyond Compare文件比较也可以使用二进制比较,快速找出文件的区别。
2、CRC和快照结合
当CRC与快照功能结合使用时,CRC的比较是最有用的。虽然快照无法容纳整个文件,但他们可以容纳CRC连同其他文件夹的数据。您可以针对与CRC校验快照比较实时数据,并相信,如果一个文件已被损坏你会发现它。
3、CRC和FTP服务器
CRC比较的行为取决于你连接到FTP服务器。如果FTP服务器支持,服务器将产生CRC,只传送CRC值。如果服务器不支持它, Beyond Compare软件文件比较需要传输整个文件并在本地计算CRC。如果你看到日志中的XCRC命令, 表明正在由服务器生成CRC值。
Beyond Compare 4 如何显示日志包括任何XCRC命令。
步骤一:打开Beyond Compare软件,选择需要比较的文件,单击菜单栏逗视图地选项卡,勾选逗日志地选项即可。
步骤二:单击逗工具地选项卡,选择逗选项地对话,在弹出的逗选项地窗口中,点击逗调整地按钮。在对应的逗日志面板地栏目中,勾选逗FTP跟踪逗复选框,确保启用了FTP跟踪选项。追问
这里我想知道x5e是怎么计算出来的,其他理论知识不需要。
以上是关于手动计算CRC和CRC软件计算为啥不一样?的主要内容,如果未能解决你的问题,请参考以下文章
计算机网络CRC检验中为啥选择16或32位效验码,效率最高?