問題タブ [crc]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
1055 参照

python - zlib.crc32 または zlib.adler32 を安全に使用して、URL の主キーをマスクできますか?

Django Design Patternsでは、著者は zlib.crc32 を使用して URL の主キーをマスクすることを推奨しています。いくつかの簡単なテストの後、crc32 が約半分の時間で負の整数を生成することに気付きました。これは URL での使用には望ましくないと思われます。zlib.adler32 はネガを生成するようには見えませんが、 CRC よりも「弱い」と説明されています。

  1. この方法 (CRC または Adler-32) は、主キーの代替として URL で安全に使用できますか? (つまり、衝突に対して安全ですか?)
  2. 「より弱い」Adler-32 は、このタスクの満足のいく代替手段ですか?
  3. 一体どうやってこれを逆にするの!? つまり、チェックサムから元の主キーをどのように判断するのでしょうか?
0 投票する
3 に答える
8149 参照

reverse-engineering - RS232 データの CRC または CHECKSUM を調べる

RS232 デバイスと通信する必要があります。仕様や情報がありません。

16 バイトのコマンドを送信すると、16 バイトの結果が返されます。最後のバイトは、ある種の crc またはチェックサムのように見えます。このhttp://miscel.dk/MiscEl/miscelCRCandChecksum.htmlを使用してみましたが、うまくいきませんでした。

誰でもcrc/checksumアルゴリズムをリバースエンジニアリングできますか? RS-232 モニター プログラムで取得したデータを次に示します。

最後から2番目のバイトは、FFに達すると00から始まる連番のようです。crc/checksum メソッドを推測しやすくするために、00 から FF までの範囲全体を含めました。

コメントを追加できないので、ここに情報を追加します。

前の 15 バイトがすべて等しい場合、最後のバイトは同じです。これはデバイスです: http://www.intelektron.com/productos/tya_rei4000.htm

訂正 (そして、ソフトウェアにバグを見つけたと思います) デバイス自体は、最後から 2 番目のバイトで FF に達した後、00 から開始しますが、デバイスにコマンドを送信するソフトウェアは、FF に達すると 01 から開始します。とにかく、この最後から 2 番目のシーケンス バイトは、crc/checksum の問題とは関係がないと思います。

明確化 記載されているデータはソフトウェアによって送信されたコマンドであり、デバイスによる応答は記載されていません。デバイスは、上記の各コマンドに応答して、次のような格納されたデータの 1 行を送信します。

この行には 4 バイトのカード番号、時刻と日付などが含まれていますが、crc/checksum の問題とは関係ないと思います。

追加情報:

私はソフトウェアの VB6 ocxs を調べていて、これを得ました:

私はこれがデータのCRC8を計算することを確信しています:

メソッド Calcular(Paquete As , CantidadDeBytes As Integer) As Unsigned Small Integer vbpComunicaciones2 のメンバー (cached).clsCRC8 インターフェイス _clsCRC8 で定義

誰でもこのことから何らかの意味を理解できますか? 残念ながら、できません。

0 投票する
2 に答える
5083 参照

c# - クロス プラットフォーム アプリケーションの CRC

C/Linux アプリケーションだけでなく、VB.NET または C# アプリケーションでも共通の CRC ロジックを使用したいと考えています。Web サービス (C# で記述) および Web アプリケーション (VB.NET で記述) と対話する C/Linux アプリケーションが 1 つあります。一部のデータについては、.NET 側からデータ自体 (ファイルなど) に CRC を追加し、クライアントでデータの整合性をチェック (CRC をチェック) したいと考えています。

誰かが私を案内してもらえますか?

0 投票する
2 に答える
5633 参照

c# - CRC-CCITT Kermit 16 DELPHI コードを C# に変換

HEX 文字列から Kermit CRC 値を取得する関数に取り組んでいます。DELPHI にコードがあります。私は .NET 開発者で、C# のコードが必要です。

この Web ページからコードを取得しました: Kermit CRC in DELPHI

Delphi関数は正しいと思います。誰かがコードを C# に変換できれば、それは素晴らしいことです。C#に変換しようとしたのですが、WORDのデータ型とDelphiのLO関数で迷ってしまいました。皆さん、ありがとうございました。

0 投票する
1 に答える
3437 参照

java - sun.awt.image.PNGImageDecoder$PNGException: crc の破損

私は、約 400 のクラスを持つ大きな Java プロジェクトに取り組んでいます。突然、このエラーが発生しました

このプロジェクトでは長い間画像を扱っていませんでしたが、例外メッセージに表示されないため、エラーの原因がわかりません。

0 投票する
1 に答える
2437 参照

crc - チェックサムを生成するアルゴリズムを見つける

1 バイトのカウンターとおそらくチェックサムと共に 6 バイトのメッセージを送信するセンシング デバイスがあります。

データは次のようになります。

カウンタの最後の 4 ビットは常に 0 に設定されます。つまり、これらのビットはおそらく使用されません。最後のバイトは、非常に特殊な性質を持つため、チェックサムと見なされます。データが変更されると、ランダムに変更される傾向があります。

ここで必要なのは、--DATA-- に基づいてこのチェックサムを計算するアルゴリズムを見つけることです。私が試したのは、すべての可能なCRC-8多項式です。各多項式について、データを反映させたり、切り替えたり、ゼロ以外で開始したりしました。通常のcrcを扱っていないという結論に達しました。アルゴリズム。また、成功せずにフレザーとアドラーの方法をいくつか試しましたが、xor を行ったり来たりしましたが、チェックサムを生成する方法はまだわかりません。

私の最大の懸念は、カウンターがどのように使用されるか??? 同じデータでカウンター値が異なると、異なるチェックサムが生成されます。計算にカウンターを含めようとしましたが、うまくいきませんでした。

他のデータサンプルは次のとおりです。

言及する価値があるかもしれないもう 1 つのことは、データの最後のバイトが値 FF または FE のみを取ることです。

ここに投稿しようとするヒントやコツがあれば、本当に必死です。

ありがとう

0 投票する
1 に答える
1120 参照

ruby - gemパッケージのインストール時に「Zlib::GzipFile ::CRCErrorcrcエラー」

[root @ blanee local_cache]#gem install dm-core-0.9.11.gemエラー:gemの実行中に...(Zlib :: GzipFile :: CRCError)無効な圧縮データ-crcエラー

[root @ blanee local_cache]#gem install ParseTree-3.0.5.gemエラー:gemの実行中に...(Zlib :: GzipFile :: CRCError)無効な圧縮データ-crcエラー

インストールするgemパッケージはたくさんありますが、正常にインストールできるものもあれば、インストールできないものもあります。私のOSはCentOS5です。

ところで、パッケージは良いです。別のPCにインストールしたからです。

誰かが私を助けることができますか?

0 投票する
0 に答える
541 参照

detection - CRC エラー検出の問題

システムに CRC エラー検出を実装する必要があります。生成多項式を使用して、検出可能なエラー (および検出できないエラー) の最大数を決定する方法を知りたいですか?

たとえば、次の g(x) = x^4 + x^3 + 1 を取得したと仮定します。2^15 通りの送信が可能です。11 ビット ワードは、この CRC によって保護されている可能性があります。

検出可能なエラーと検出できないエラーのある送信の数を見つける方法は?

返信してくれてありがとう!

乾杯

0 投票する
1 に答える
1900 参照

crc - ハミング距離とCRC

特定のCRCによって生成されたコードのハミング距離を見つける方法は?

たとえば、4ビットと11ビットのデータの次数の生成多項式があるとします。

これらの情報のみに基づいてHDを計算するにはどうすればよいですか?

0 投票する
2 に答える
3371 参照

crc - どの CRC を使用するかを決定する方法

シリアルに転送する特定のバイト数がある場合、どの CRC (CRC8、CRC16 など、基本的には何ビットの CRC) を使用するかをどのように決定し、それでもエラー検出率を高くすることができますか? これには公式がありますか?