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

时间:2013-06-25 21:49:12

标签: java png checksum ethernet crc32

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

    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

仅作为一个例子,

“你好世界”=

7813f744(网站)

D4A1185(我的代码)

谢谢:)

1 个答案:

答案 0 :(得分:0)

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

您尝试使用相同website的CRC32B算法。它与Checksum班级给你的内容相符。