0

私は通信プログラミングの初心者です。基本的に、CRC 出力に相当する 16 進数を取得する必要があります。パラメータである16進文字列があります-

EE0000000015202020202020202020202020323134373030353935

これは、2 つの文字列の連結です。必要な出力はE6EBinhexまたは59115inushortです。Webで見つけたものに基づいてさまざまなアプローチを試みましたが、役に立ちませんでした。私が使用すべき多項式0x8408http://en.wikipedia.org/wiki/Polynomial_representations_of_cyclic_redundancy_checks[CRC-16-CCITT][1]です。

このアプローチCRC_CCITT Kermit 16 in C#を試しましたが、出力が正しくありません。また、逆計算のために提案されたビットごとの演算子も試しました~が、それでも失敗しました。

どんな助けでも大歓迎です。

4

2 に答える 2

1

RevEngは次のように報告しています。

% ./reveng -s -w 16 EE0000000015202020202020202020202020323134373030353935e6eb
width=16  poly=0x1021  init=0xffff  refin=true  refout=true  xorout=0xffff  check=0x906e  name="X-25"

だからあなたのCRCがあります。0x8408が反映されている場合、CRC が反映されていることに注意してください0x1021

于 2015-05-28T16:45:36.433 に答える