我只能计算.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(我的代码)
谢谢:)
答案 0 :(得分:0)
您提供的网站中使用的算法似乎是CRC32,而您使用的算法是CRC32B。它们都是完全不同的算法,这就是为什么你得到不同的价值。
您尝试使用相同website的CRC32B算法。它与Checksum
班级给你的内容相符。