2016-12-05 160 views
0

我想了幾天,以獲得CRC與以下十六進制流型(使用Wireshark嗅探):計算六角流的CRC /校驗和(聞)

十六進制數據我聞了聞: 0000001ec001075465737431323308557365726e616d650850617373776f7264d224

這應該是十六進制的數據: 0000001ec001075465737431323308557365726e616d650850617373776f7264

所以最後4位是校驗和,在這種情況下,D224

我使用了許多代碼片段(PHP,JAVA),以及一些在線校驗測算網站: 例如爲: http://www.scadacore.com/field-applications/programming-calculators/online-checksum-calculator/

但我沒有得到正確的CRC值。

謝謝!

更新1
這裏與CRC更六角流包括(最後4位):

  • 0000001dc001045465737409557365726e616d65310950617373776f726431cc96
  • 0000001dc001045465737409557365726e616d65320950617373776f72643289d9
  • 0000001dc001045465737409557365726e616d65330950617373776f726433b51c
  • 0000001dc001045465737409557365726e616d65340 950617373776f7264340347
  • 0000001dc001045465737409557365726e616d65350950617373776f7264353f82
+0

您需要更多示例才能對CRC進行反向工程。 –

+0

@MarkAdler我添加了更多的十六進制流與crc包括在內。 –

回答

1

它似乎是ARC CRC,多項式0x8005,反射,零初始值和沒有最後異或,如果我丟棄在每個消息中的初始0000001d,並採取CRC在末端是以小端順序放入流中。

+0

如果我把我的十六進制流如最後一個「0000001dc001045465737409557365726e616d65350950617373776f726435」這個網站:http://www.sunshine2k.de/coding/javascript/crc/crc_js.html,並選擇CRC寬度CRC-16,預定義:CRC16_ARC我得到作爲結果0xFFB2,而不是0x3f82。我弄錯了嗎? - 謝謝! –

+0

是的,你沒有像我說的那樣刪除最初的'0000001d'。 –

+0

你,你是英雄!非常感謝你! –