Java CRC32实现在32位和64位上是否有所不同

Java CRC32实现在32位和64位上是否有所不同,java,32bit-64bit,crc32,Java,32bit 64bit,Crc32,32位和64位JVM上的Java CRC32实现之间有什么区别吗? 我的问题是,我的客户端应用程序(在32位平台上)计算一个散列,并将其与64位服务器应用程序计算的散列进行比较。 有时(并非总是)我会得到不同的结果 有人知道问题出在哪里吗 提前谢谢 你是说课堂 不,CRC-32是一个固定版本,JVM版本和CPU类型都不会对其产生任何影响。事实上,CRC-32在以太网中使用,它与体系结构无关 如果您知道显示不匹配的CRC-32的数据,请对照任意的CRC计算器(如一个)进行检查。显然,服务器端或客户

32位和64位JVM上的Java CRC32实现之间有什么区别吗? 我的问题是,我的客户端应用程序(在32位平台上)计算一个散列,并将其与64位服务器应用程序计算的散列进行比较。 有时(并非总是)我会得到不同的结果

有人知道问题出在哪里吗

提前谢谢

你是说课堂

不,CRC-32是一个固定版本,JVM版本和CPU类型都不会对其产生任何影响。事实上,CRC-32在以太网中使用,它与体系结构无关

如果您知道显示不匹配的CRC-32的数据,请对照任意的CRC计算器(如一个)进行检查。显然,服务器端或客户端的计算都是错误的


我的猜测是,在某些方面,没有处理整个流/文件(大概在文件末尾有几个字节)。

crc32是本机的,因此impl不同,尽管结果是相同的。经过几晚的研究,我们在自定义代码中发现了问题。发布服务器和客户端的代码。impl本身是不同的,尽管结果是相同的。