1

我只能计算 .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(我的代码)

谢谢 :)

4

1 回答 1

0

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

您尝试使用同一网站的 CRC32B 算法。它与Checksum课程给你的内容是一致的。

于 2013-06-25T22:25:53.193 回答