問題タブ [crc32]
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.
checksum - チェックサムを*無効化*するための最良の方法
最初にチェックサムを含む4KBのバッファがあるとしましょう。このバッファーには、他のバッファーを参照するメタデータが含まれています。注意:バッファはメモリマップトファイルです。バッファの1つが無効であることに気付きました(チェックサムが機能しないか、チェックサムは正常ですが、無効なバッファを参照しています)。ここで、別の無効なバッファーを参照しているバッファーを無効にします。バッファを無効にする数学的に最良の方法は何ですか?チェックサム自体を破損してデータと一致しないようにするか、データを破損してチェックサムと一致しない可能性があります。それとも、完全に3番目のより良い方法がありますか?その価値については、これはCRC32バリアントです。
c# - スプリットでCRC-32計算を行うことは可能ですか?
この簡単な関数を使用して、特定のファイルの CRC チェックサムを計算します。
私の質問は次のとおりです。たとえば、100MB の大きなファイルがあるとします。最初の 50MB と最後の 50MB の CRC-32 計算と 100MB ファイルの CRC-32 計算の間に何らかの関連性はありますか?
私が尋ねている理由は、生成に時間がかかる非常に大きなファイル (〜 10 GB ギブまたはテイク) がいくつかありますが、それらが生成されている間、ほとんどの部分は静的なままですが、途中の部分 (既知のポイント) ) および開始直後 (ヘッダー、部分/長さとも呼ばれます)。10GB のファイルの CRC-32 チェックサムを計算するにはかなりの時間がかかるので、チャンクで計算する方法はないかと考えていました。
crc32 - C64x+ GMPY 命令を使用して CRC32 を計算する方法は?
TI C64x+ DSP に搭載されているガロア体乗算 (GMPY) 命令を使用して CRC32 を効率的に計算するにはどうすればよいですか?
java - ブラックベリーCRC32号
私はこれに数日間立ち往生しており、それを取得できないようです。ここに投稿することで、ひらめきを得て、投稿後 30 秒でこの問題を修正できることを願っています。:D ここに行きます....
文字列を暗号化し、URL に追加して、サーバーに送信する必要があります。手順は次のとおりです。
私は2で立ち往生しています!! 私が取得すべき CRC は です1903129755
が、他の結果の中でも、取得しているのは です-1903129756
。注: この投稿では、テスト文字列とその結果の CRC を使用しています。ビルド時にミリ秒単位の時間を含めると、文字列が変化します。
また、これはブラックベリーに関するものです。Android コードは完璧に動作します。その CRC は、Android とオンラインの CRC ジェネレーター Web サイトの両方から取得されます。
http://hash.online-convert.com/crc32b-generator
私が持っているコードは他の人でもうまくいくように見えるので、ここでは明らかに私が間違っています。誰かが私のエラーを見つけることができますか?? ありがとう
ご覧のとおり、いくつかの異なる方法を試しました。
PSlogger
は、カスタマイズされた形式の出力をコンソールに出力する独自のクラスなので、無視します。
編集:出力といえば、出力は次のとおりです。
EDIT2: これは同等の Android コードです。注crc
は次のように定義されCRC32 crc
ます。
c# - WindowsのUnixcksumに相当します
ファイルと彼のチェックサム(cksum Unixコマンドによって生成された)をダウンロードします。
したがって、C#アプリのテストで、チェックサムがダウンロードしたアプリと適切であるかどうかを確認します。
chsumのUnixのマニュアルページで確認しました。
だから私は合計を行う簡単なプログラムを書きました:
しかし、チェックサムは同じではありません。どうすればこれを修正できますか?
ありがとう
編集
1)変更されたアルゴリズムは次のとおりです。
2)私は使用しましたclass Crc32 : HashAlgorithm
Crc32が:2774111254であるUnixファイルがあるとします。
- 1)私に与える:4243613712
- 2)私に与える:3143134679(シード0)
私が間違っていること!?
python - IP アドレスを [0, H) の数値にハッシュする
私はPython-2.6を使用しています。ハッシュ関数についての知識はほとんどありません。
CRC ハッシュ関数を使用して、「128.0.0.5」のような IP アドレスを範囲 [0, H) にハッシュしたいと考えています。現在、私はやろうと考えています
これでいいですか?いくつかの質問があります。あなたは試して答えることができます...
違いはありますか。「128.0.0.5」またはそのバイナリ「0001110101010 ..」をハッシュした場合、それが何であれ、「.」なしで
zlib.crc32 は符号付き整数を返します。改造 (%) は否定的ですか。正の H では、常に pos no を指定しますか?
H による %-ing はハッシュ関数の良さに影響しますか? (つまり、利用可能なxlib.crc32を使用して、利用可能なスペースに対してできる最善のことです)
ありがとう!
python - UNIX cksum 関数に相当する Python
unix cksum コマンドに相当する python メソッドを探していました。
http://pubs.opengroup.org/onlinepubs/7990989775/xcu/cksum.html
これまでのところ、 zlib.crc32() 関数を見つけました
ただし、このコードは異なる結果を生成するようです。私が知る限り、これは同じcrc多項式を使用する必要がありますが、バイトオーダーまたは初期値に何らかの違いがあるに違いないと思います。誰かが私のためにこれに光を当てることができますか?
python - CRC32は相加的ですか?
いくつかの場所で、crc32は加算的であると読んだので、CRC(A xor B)= CRC(A)xor CRC(B)です。
上記のステートメントは、私が書いた次のコードによって反証されました。
プログラム出力:
誰かがこの理論を証明する適切なコードを提供したり、私が失敗した場所を教えてもらえますか?
c# - C#でSSE 4.2 crc32アルゴリズムを使用していますか? 出来ますか?
多くのファイルと巨大なファイル(数GB)でcrc32を計算する必要があります。Damiengやthis oneなど、Web で見つけたいくつかのアルゴを試してみましたが、機能しますが、遅いです (1 分以上)。さまざまな crc32 アルゴでこのベンチマークを見つけたところ、sse 4.2 にはハードウェア アクセラレーションされた crc32 メソッドがあることがわかりました。
SSE crc32 コードを使用するための c# コード サンプルはどこにも見つかりませんでした。
1 - 可能ですか?
2 - 現在の CPU が SSE4.2 対応かどうかを確認するにはどうすればよいですか? (crc32方式を切り替えるため)
(できればコードサンプルをお願いします)
hash - この場合に使用するmd5ハッシュまたはcrc32
26文字未満で表現できるハッシュが必要です。Md5は32文字の長さの文字列を生成します。これをベース36に変換すると、どれだけ優れているでしょうか。
暗号化ではなく、入力時間と入力データに応じて各入力を基本的に識別する一意性のためにハッシュが必要です。現在、私はこれを次のように考えることができます
このようにするか、ハッシュサイズを小さくするcrc32を使用する必要がありますが、それほどユニークではないのではないでしょうか。