Я хочу, чтобы вычислить значение CRC32 из массива байтов с начальным значением CRC в Java, такой же, как в сценарии Python:CRC32 - изменить начальное значение
import zlib
def getCrc32():
with open("test.py", mode='rb') as file:
fileContent = file.read()
crcVal = zlib.crc32(fileContent,10)
if __name__ == "__main__":
getCrc32()
Но в Java, я не могу получить тот же результат по следующему коду:
RandomAccessFile f = new RandomAccessFile("test.py", "r");
byte[] b = new byte[(int) f.length()];
f.readFully(b);
CRC32 c2 = new CRC32();
c2.update(10);
c2.update(b);
System.out.println((int) c2.getValue());
Как вычислить CRC32 с фактическим значением в Java?
Благодарим за подробный ответ. Марк, я нашел эту [библиотеку] (https://github.com/ymnk/jzlib) и имеет [сброс] (https://github.com/ymnk/jzlib /blob/master/src/main/java/com/jcraft/jzlib/CRC32.java), который делает то, что мне нужно. Я протестировал его, и он возвращает то же значение с образцом Python. – uahakan