Заявление Карлоса Рендона «Я могу убедиться, что CRC32 в Java НЕ совпадает с / usr / bin / cksum», неверно.
Как упоминал Питер Лори, вы можете напрямую использовать CRC32 в Java для получения той же контрольной суммы, что и в Unix / Linux cksum
.
Правильный способ сделать это:
java.util.zip.CRC32 x = new java.util.zip.CRC32();
x.update(bytes);
StdOut.println("CRC32 (via Java's library) = " + Long.toHexString(x.getValue()));
Источник: http://introcs.cs.princeton.edu/java/61data/CRC32.java.html
Используемый CRC по умолчанию основан на полиноме, используемом для проверки ошибок CRC в сетевом стандарте.
ИСО / МЭК 8802-3: 1989.