2013-06-25 66 views
0

我只能計算.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

回答

0

看來,該算法中使用您提供的網站是CRC32,而您使用的是CRC32B。它們都是完全不同的算法,這就是爲什麼你會得到不同的值。

您可以從相同的website中嘗試CRC32B算法。它與Checksum班級提供給你的內容一致。