問題タブ [checksum]

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 投票する
7 に答える
2370 参照

hash - ダウンロードに md5、sha1、その他のハッシュ インジケーターのタグが付けられることがあるのはなぜですか?

私はこれをいたるところで見ました:

ここからダウンロード!SHA1 = 8e1ed2ce9e7e473d38a9dc7824a384a9ac34d7d0

どういう意味ですか?ダウンロードに関して、ハッシュはどのように機能しますか...どのような用途に使用できますか? これは、ファイル全体をダウンロードした後にいくつかのチェックサムを確認する必要があった従来のアイテムですか?

0 投票する
9 に答える
47859 参照

algorithm - 確認コード/番号を生成する方法は?

ユーザーが電話をかけ、電話のキーパッドで確認番号を入力する必要があるアプリケーションに取り組んでいます。

入力した数字が正しいかどうかを検出できるようにしたいと思います。電話システムは有効な番号のリストにアクセスできませんが、代わりにアルゴリズム (クレジット カード番号など) に対して番号を検証します。

要件の一部を次に示します。

  • 有効なランダムコードを入力するのは難しいに違いない
  • タイプミス(桁の入れ替わり、桁違い)をすると有効なコードを取得するのが難しいに違いありません
  • 合理的な数の可能な組み合わせが必要です (1M としましょう)
  • ユーザーのエラーを避けるために、コードはできるだけ短くする必要があります

これらの要件を考えると、どのようにそのような数を生成しますか?

編集 :

@Haaked: ユーザーが電話で入力するため、コードは数値でなければなりません。

@matt b: 最初のステップでは、コードが Web ページに表示されます。2 番目のステップでは、コードを呼び出して入力します。ユーザーの電話番号がわかりません。

フォローアップ : 数値の有効性をチェックするアルゴリズムをいくつか見つけました(この興味深い Google Code プロジェクトを参照してください: checkDigits )。

0 投票する
4 に答える
1505 参照

algorithm - TNT.com の追跡番号に使用されるチェックサムは何ですか?

追跡番号を特定するソフトウェアを作成しています (Google が FedEx や UPS の番号を検索して特定するのと同じ方法で)。ほとんどの配送業者は、番号が有効な追跡番号であるかどうかを識別するために使用できる「加重平均 mod システム」などのシステムを使用しています。TNT の委託番号がそのようなシステムを使用しているかどうかを知っている人はいますか? もしそうなら、それは何ですか? TNT のサポートに問い合わせたところ、担当者はそうではないと言っていましたが、再確認したいと思います。

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

windows - Windows マシン上のファイルのチェックサムをリモートで取得するにはどうすればよいですか?

自動検出ツールを使用して、リモート J2EE アプリケーション サーバーの JAR ファイルの内容がいつ変更されたかを確認しようとしています。現在、システムは WMI を使用して JAR 全体をダウンロードし、ローカルでチェックサムを取得しますが、大きな JAR の場合は低速です。

UNIXy サーバー (および Cygwin を使用する Windows サーバー) の場合は、SSH 経由でログインして を実行するだけmd5sum foo.jarです。理想的には、リモート サーバー (何千もあるかもしれません) に余分なソフトウェアをインストールすることを避けたいので、通常の Windows サーバーでこれを行う良い方法はありますか?

0 投票する
10 に答える
37986 参照

algorithm - 堅牢で高速なチェックサムアルゴリズム?

次のユースケースで推奨できるチェックサムアルゴリズムはどれですか?

小さなJPEGファイル(それぞれ約8 kB)のチェックサムを生成して、コンテンツが変更されたかどうかを確認したいと思います。残念ながら、変更されたファイルシステムの日付を使用することはできません。
チェックサムは暗号的に強力である必要はありませんが、あらゆるサイズの変更を確実に示す必要があります。

2番目の基準は速度です。これは、(最新のCPUでは)1秒あたり少なくとも数百の画像を処理できるはずだからです。

計算は、複数のクライアントを備えたサーバーで実行されます。クライアントは、ギガビットTCPを介してイメージをサーバーに送信します。したがって、ボトルネックとしてのディスクI/Oはありません。

0 投票する
4 に答える
16598 参照

checksum - チェックサムアルゴリズムを推測するにはどうすればよいですか?

最後に 16 ビットのチェックサムを持ついくつかのパケットがあると仮定しましょう。どのチェックサム アルゴリズムが使用されているかを推測したいと思います。

まず、ダンプ データから、パケットのペイロードの 1 バイトの変更によってチェックサムが完全に変更されることがわかります。そのため、単純な XOR または合計ではないと推測できます。

次に、 CRC16 のいくつかのバリエーションを試しましたが、うまくいきませんでした。

この質問は暗号化に偏っている可能性がありますが、これがどの CRC であるかを調べるためのわかりやすい統計ツールに本当に興味があります。他のすべてが失敗した場合は、別の CRC アルゴリズムを描画することさえあります。

背景の話: 私はある種のチェックサムを持つシリアル RFID プロトコルを持っています。問題なくメッセージを再生し、結果を解釈することはできますが (チェックサム チェックなし)、変更されたパケットを送信できません。

既存のソフトウェアを使用して、RFID チップのペイロードを変更できます。ただし、一意のシリアル番号は不変であるため、考えられるすべての組み合わせを確認することはできません。1 ずつ増加する値のダンプを生成できましたが、この問題に徹底的な検索を適用するには十分ではありませんでした。

質問自体が十分でない場合は、データを含むダンプファイルを利用できます:-)

参照ドキュメントが必要ですか? A PAINLESS GUIDE TO CRC ERROR DETECTION ALGORITHMSは、ここで質問した後に見つけた素晴らしいリファレンスです。

最後に、CCITT よりも受け入れられた回答で非常に役立つヒントが得られた後、 この CRC 計算機を使用し、生成されたチェックサムを既知のチェックサムで xor して 0xffff を取得し、最終的な xor が CCITT の 0x0000 の 0xffff インストレッドであるという結論に至りました。

0 投票する
6 に答える
5878 参照

checksum - JPEG内蔵のチェックサム/フィンガープリント?

画像の大規模なライブラリで重複を削除するスクリプトをまとめています。現時点では、最初に同じサイズのファイルを見つけてから、ファイルの 10240 バイトの部分で sha256 を実行して、同じサイズのファイルのフィンガープリントを取得する 2 パス フィルターを実行しています (コードはこちら)。

うまく動作しますが、sha256 を実行する代わりに使用できるチェックサムが jpeg 形式に組み込まれているのではないかと思います。

チェックサム/フィンガープリントとして機能するチェックサムまたはその他のコンポーネントがあるかどうかは誰にもわかりませんか? もしそうなら、それらにアクセスする効率的な方法はありますか?

0 投票する
7 に答える
2980 参照

file - ファイルの CRC チェック

私は小さな FAT16 ファイルシステムで作業しており、構成情報を格納する個々の XML ファイルの CRC 値を生成したいと考えています。データが変更または破損した場合に備えて、CRC をチェックして、ファイルがまだ元の状態にあることを確認できるようにしたいと考えています。

問題は、ファイル自体の CRC 値を変更せずに、CRC 値をファイルに入れるにはどうすればよいかということです。解決策はいくつか考えられますが、この問題にはかなり標準的な解決策が必要だと思います。

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

.net - WCFを使用して中央サーバーにデータをアップロードするクライアント、データがアップロードされたことを確認する方法は?

それぞれが独自にインストールされている10台未満のクライアントコンピューターは、中央サーバーにデータをアップロードする必要があります。

クライアントデータベースは次のようになります。

tblSales --rowGuid --randomNumber

中央サーバーデータベース:

  • rowGuid
  • randomNumber
  • dateInserted

WCFを使用してファイルを中央サーバーに送信する予定です。

行がサーバーに挿入されたことを確認するにはどうすればよいですか?どのような検証オプションがありますか?

挿入された行数を返し、送信された行数と比較することはできますが、他にもっと堅牢な方法はありますか?

0 投票する
9 に答える
4555 参照

checksum - チェックサムアルゴリズムをどのように推測できますか?

与えられたコード+CRC文字列が与えられた場合、どうすればCRCアルゴリズムを理解できますか?

コードと一致するCRCで構成される文字列がいくつかありますが、より多くのコード文字列を生成できるように、問題のCRCを計算する方法がわかりません。次にいくつかのサンプル(16ビットコード+ 4ビットCRC)を示します。

これらのコードは、X10製品のようなRF(433MHz)送信機から送信されます。

これがCRCなのか、それとも何なのかはわかりませんが、少なくともこれらのコード文字列から何らかの形で計算されています。

更新

RE:仕様を見つけることも最善の解決策だと思いますが、これはオプションではないため、なんとかしてチェックサム計算を総当たり攻撃する必要があります。

これが問題です。仕様がなく、どこにも入手できません。結果なしでいくつかの異なるチェックサム計算方法を試しましたが、入力文字列を比較して共通点を見つけ、この方法でアルゴリズムを取得する方法はありませんか?