CRC32(以太网)计算与Java中的.ZIP/.PNG?

问题描述:

我只能计算.ZIP/.PNG字符串的CRC32值,但不能与以太网相关。 Java CRC32类似乎只允许一种类型的计算。CRC32(以太网)计算与Java中的.ZIP/.PNG?

String str = textField.getText(); 
    Checksum checksum = new CRC32(); 
    byte bytes[] = null; 

    try { 
     bytes = str.getBytes("ASCII"); 
    } catch (UnsupportedEncodingException ex) { 
     Logger.getLogger(GUI.class.getName()).log(Level.SEVERE, null, ex); 
    } 

    checksum.update(bytes, 0, bytes.length); 
    long lngChecksum = checksum.getValue(); 
    crc32bField.setText(Long.toHexString(lngChecksum)); 

这是我写的代码来计算我的CRC,任何人都可以帮助我实现与本网站上计算的值相同的值吗?

http://hash.online-convert.com/crc32-generator

只是作为一个例子,

的 “Hello World”=

7813f744(网站)

D4A1185(我的代码)

谢谢:)

+0

嗯......这让我十进制值,我需要在HEX的CRC值 –

+0

@Junaid为什么?他的参考CRC是十六进制。你的建议给小数点。你想说什么? – EJP

+0

@Junaid你可以随时删除它。 – EJP

看来,该算法中使用您提供的网站是CRC32,而您使用的是CRC32B。它们都是完全不同的算法,这就是为什么你会得到不同的值。

您可以从相同的website中尝试CRC32B算法。它与Checksum班级提供给你的内容一致。