問題タブ [hash]

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

algorithm - 数値ベクトルをハッシュする方法は?

int のベクトルを入力し、内積と同様に機能する単一の int を出力する既知のハッシュ アルゴリズムはありますか?

つまり、C++ で次のようなハッシュ アルゴリズムを考えています。

私がこれに興味を持っているのは、同様のハッシュに関する以前の研究から恩恵を受けるアルゴリズムに関する論文を書いているからです。特に、このようなハッシュ アルゴリズムの衝突特性について何か知られていることがあれば、それは素晴らしいことです。

私が興味を持っているアルゴリズムは整数ベクトルをハッシュしますが、浮動小数点ベクトルの何かもクールです。

明確化

ハッシュは、高速なキー/値検索用のハッシュ テーブルで使用することを目的としています。ここにはセキュリティ上の懸念はありません。

望ましい答えは、このようなハッシュに対して特にうまく機能することが証明されている一連の定数のようなものです。疑似乱数ジェネレーターとして他のものよりもうまく機能する乗数とモジュロに似ています。

たとえば、線形合同疑似乱数発生器の定数のいくつかの選択は、最適なサイクル長を与え、計算しやすいモジュロを持つことが知られています。おそらく誰かが研究を行って、ベクトルハッシュ内の特定の乗法定数のセットとモジュロ定数が、近くの整数ベクトル間の衝突の可能性を減らすことができることを示しています。

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

java - ハッシュに適したテーブルサイズの選択

キーセットが1000の場合、ハッシュテーブルに適したサイズはどれくらいですか。それはどのように決定されますか?

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

c# - より高速な MD5 の代替品?

ドライブ全体で特定のファイルを検索するプログラムに取り組んでいます。現時点では、既知のファイルの MD5 ハッシュを計算し、すべてのファイルを再帰的にスキャンして、一致するファイルを探しています。

唯一の問題は、大きなファイルでは MD5 が非常に遅いことです。誤検知の可能性を非常に低く保ちながら使用できる、より高速な代替手段はありますか?

すべてのコードは C# です。

ありがとうございました。

アップデート

MD5 でさえかなり高速であり、ディスク I/O が制限要因になるはずだと読みました。そのため、私のコードが最適ではない可能性があると私は信じています。このアプローチに問題はありますか?

0 投票する
5 に答える
3105 参照

hash - この Base64 Look-alike は何ですか?

私はデコード技術に不慣れで、昨日base64、sha-1、md5、およびその他のいくつかについて学びました。

「orkut」ワームに実際に何が含まれているかを調べてみました。

この数日間、多くの orkut スパマーやハッカーから攻撃を受けました。彼らが送信する URL には類似点があります。

どのような情報が含まれているかはわかりませんが、把握する必要があります。

問題は次のテキストにあります。

上記のエンコーディングは base64 のように見えますが、そうではありません。オンラインの base64 デコーダーを使用してデコードしようとすると、生の出力が得られ、正確にデコードされないためです。

他のコードが base64 に混在している可能性があります。

誰かがそれを解読するのを手伝ってくれませんか?

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

php - 出力長が長い PHP ハッシュ関数?

私のコード内で、URL のハッシュを生成しています (実質的に無制限の長さです)。私は現在sha1()を使用していますが、衝突の可能性がわずかであることはわかっていますが、ハッシュを保存するのに最大255バイトあるので、その利用可能なスペースを使用して衝突の可能性を下げることもできます.さらに遠く。

次のいずれかがありますか?

  1. より長い、またはカスタマイズ可能なハッシュ長を持つ別の PHP ハッシュ関数はありますか?
  2. sha1 のような固定長のハッシュ関数を可変長の入力で使用して、より長いハッシュを生成する方法はありますか?

それとも、sha1 の 20 バイトのハッシュは何に対しても十分であり、私はそれについて心配するのをやめるべきですか?

0 投票する
11 に答える
17849 参照

database-design - ハッシュ衝突-チャンスは何ですか?

PHPを利用したサイトに(を使用してsha1())ランダムハッシュを作成するコードがあり、それを使用してデータベース内のレコードを照合します。

衝突の可能性は何ですか?ハッシュを生成する必要がある場合は、最初にデータベースにあるかどうかを確認するか(余分なクエリを避けたい)、他のハッシュと衝突しない可能性に基づいて自動的に挿入します。

0 投票する
13 に答える
162562 参照

java - Java の hashCode() in String が乗数として 31 を使用するのはなぜですか?

Java ドキュメントによると、オブジェクトのハッシュ コードStringは次のように計算されます。

は文字列の i番目の文字、 は文字列の長さで、累乗を示しintます。s[i]n^

乗数として 31 が使用されるのはなぜですか?

乗数は比較的大きな素数でなければならないことを理解しています。では、なぜ 29、または 37、あるいは 97 ではないのでしょうか?

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

hash - ファイルハッシュを計算する最速の方法は?

多くのファイルが DB に保存されるため、ファイルが変更されていないことを一意に識別するためにファイル ハッシュが必要です。(一般的には、Windows パーソナル ファイアウォールの一部として使用されます)

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

encryption - 変更不可能なファイルの作成

ファイルを作成してエンドユーザーに配布できるようにしたいのですが、エンドユーザーがファイルを変更できないようにしたいと考えています。

さて、明らかに、私は実際に誰かがファイルを変更するのを止めることはできません.

私の意図は、ファイルの内容の塩漬けハッシュを生成し、それをファイルに追加することです。読み取り時に、残りのファイルを読み取る前にハッシュが検証されます。これの欠点は、ファイルを読み取る実行可能ファイルに固定の「ソルト」を配布する必要があることです。もちろん、ある程度難読化することはできますが、それでもリンクが弱いように感じます。

この種の問題を解決するためのより良いアプローチはありますか?

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

perl - ハッシュ キー ルックアップで大文字と小文字を区別しないようにするにはどうすればよいですか?

明らかに、ハッシュ キーは大文字と小文字を区別して比較されます。

現在のスクリプトでそれを変更する設定はありますか?