本帖最后由 hotpower 于 2023-9-19 15:52 编辑
HotPower超级CRC计算器与第三方CRC计算器名词解释与对照及操作:
权值:Poly,CRC多项式的数字表达。HotPower超级CRC计算器采用最符合内部运算的权值。
初值:Init,CRC初始化预置值。
出值:XorOut,CRC运算后输出前的异或值。
结果:CRC最终的运算结果。
左移:Refin=False,Refout=False。数据或结果输入和输出都不反转。
右移:Refin=True,Refout=True。数据或结果输入和输出都反转。
大端:数据或结果输入和输出都不反转。数据或结果按大端排列,例如0x1234,存储顺序为0x12,0x34。
小端:数据或结果输入和输出都反转。数据或结果按小端排列,例如0x1234,存储顺序为0x34,0x12。
反转:在Refin=True,Refout=True时,数据或结果按小端排列,可以点击“明文”或“结果”快速切换。
反序:在Refin=True,Refout=True时,第三方CRC计算器权值为0x1021,内部运算运算实际反序为0x8408。
例如:CRC16=X16+X12+X5+1,Poly=0x1021或0x8408。这要和内部运算关联。可以点击“权值”快速切换。
可逆:当CRC多项式中包含“+1”时,CRC可逆(左移CRC权值最低位为1,右移CRC权值最高位为1),否则不可逆。
简写式:HotPower超级CRC计算器独特的CRC多项式的简写式,它包含了CRCn、左右移、权值、初值和出值。
例如:CRC16=X16+X12+X5+1,Poly=0x1021,Init=0xFFFF,XorOut=0x0000。Refin=False,Refout=False。
简写式表示为:CRC16L_1021_FFFF_0000
运算键:HotPower超级CRC计算器支持常见的26种CRC运算,并且提供支持32种任意CRC运算的HotCRC。
选择一种CRC后,将待校验的数据填入“明文”编辑框内,点击“运算”,运算后的校验和会出现在“结果”编辑框中。
还原键:CRC逆运算,可以根据“CRC密文”(CRC运算的中间结果流)还原出“CRC明文”,
这是HotPower超级CRC计算器与第三方CRC计算器最大的不同。
特别注意:
由于早期CRC的实现由硬件完成,故有左移和右移(反转),权值也有反序之别。
HotPower超级CRC计算器将Refin和Refout的组合用“左移”或“右移”替代。反转和反序内部自动完成。
第三方CRC运算器的权值可能采用反序,这就导致了内部运算的复杂度,故可能和本CRC运算器的权值互为反序。
例如:
CRC16=X16+X12+X5+1,Poly=0x1021,Refin=True,Refout=True。
即右移CRC16,可逆,权值最高位为“1”,故HotPower超级CRC计算器取权值Poly=0x8408(0x1021的反序)
菜农HotPower@163.com 2022.7.28 于西安雁塔菜地
|