問題タブ [string-hashing]

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

algorithm - バイト配列をバケットに均等に分散する

私は最小限の完全なハッシュ関数を実装しようとしていますが、これを実現するための主な方法の 1 つは、既知のキーの宇宙を取得し、それらを小さなサイズの適切なバケツに分割できるようにすることです (理由の範囲内で小さいほど良い) )。問題は、これらのバイト配列を配布する方法がわからないことです。キーのセット全体は、アルゴリズムの開始時に使用できます。私にできることの提案はありますか?

ありがとう!

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

memory-management - ハッシンググーグルインタビュー

2 の累乗、10 の累乗、または素数が適切なハッシュ関数にならないのはなぜですか? オーバーフロー レコードをハッシュ関数に格納したい場合、それらがハッシュ関数の選択に適していないのはなぜですか?

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

mysql - 長い文字列のmysql where句により、クエリが非常に遅くなります

犯罪数、犯罪の説明、犯罪のカテゴリ、犯罪の住所を含む mysql テーブルを作成しました。このテーブルに関するいくつかのレポートを作成しました。ユーザーは、レポートで住所フィルターによる検索を行いたいと考えています。そのため、table で where 句を使用し、street に対して条件を設定します。

問題は、住所が非常に大きな文字列であり、テーブルがすでに非常に大きい場合に、住所でテーブルを検索/フィルタリングすると、多くの時間がかかることです。md5(streetaddress) のようなハッシュを使用してみましたが、それも役に立ちませんでした。この種の where 句を使用すると、クエリが非常に遅くなります

この場合、番地のインデックスは役に立ちますか、それとも、テーブル内でこの種の文字列検索を高速化するために何らかのハッシュを使用する必要がありますか?

シャー

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

java - Javaでxml文字列をハッシュするための最良のハッシュ関数

Java で XML 文字列のハッシュを生成し、その後、この情報をデータベース テーブル フィールドに格納する必要があります (私の DBMS は Postgres です)。使用するのに最適なハッシュ関数はどれですか? 前もって感謝します

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

string - 最大スコアを得るために文字列の文字を変更する

文字列が与えられ、文字列内の最大 Q 文字を変更できます。部分文字列 (それぞれ 2 文字の長さ) のリストと、対応するスコアも表示されます。文字列内に部分文字列が出現するたびに、合計スコアが加算されます。達成可能な最大スコアはいくつですか?

文字列の長さ <= 150、Q <= 100、部分文字列の数 <= 700


例:

文字列 = bpdcg

Q = 2

部分文字列:

bz - スコア: 2

zd - スコア: 5

dm - スコア: 7

NG - スコア: 10

この例では、文字列の "p" を "z" に、"c" を "n" に変更すると、最大スコア b を達成できます。したがって、新しい文字列は「bzdng」で、スコアは 2+5+10 = 17 です。

すでに文字が変更されている文字列が与えられた場合、スコアは、aho-corasick などの辞書マッチング アルゴリズムを使用して線形時間でチェックできることを知っています (または、少し複雑な Rabin Karp)。ただし、各 2 文字の置換を試行すると時間がかかりすぎて、チェックに時間がかかりすぎます。

私が考えた別の可能な方法は、逆方向に作業して、指定された部分文字列から理想的な文字列を作成し、元の文字列と最大 2 文字異なるかどうかを確認することでした。ただ、どうしたらよいかわかりませんし、できたとしても時間がかかりすぎると思います。

これについて最善の方法は何ですか?

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

weblogic12c - weblogic がコンソールのユーザー名とパスワードをハッシュする方法

weblogic がコンソールのユーザー名とパスワードをハッシュする方法を知りたいです。

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

java - Java でのパスワードの暗号化/復号化

特定の文字列のチェックサムを返すこのコードを見つけました。

逆のことをしたいと思います。つまり、チェックサムを指定して、元の文字列を取得します。これはどのように可能ですか?

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

hash - ソルトパスワード

ユーザーパスワードを保存および確認するための正しい手順を読んでいて、塩について少し困惑しています。

レインボーテーブルなどのツールの使用を防ぐためのものだと思いますが、ソルトをハッシュと一緒に保存するという考えは、潜在的なセキュリティ上の問題のように思えます。私の好みでは、1 つの場所にあまりにも多くのデータがあります。

私が人々に実行させたいと思っているアイデアは、「ラッキー ナンバー」を使用して、パスワード ハッシュの一部からソルトを作成することです。基本的に、パスワードを選択するとともに、ユーザーは「ラッキー ナンバー」も選択します。この数値は、ハッシュされたパスからソルトを取得するための開始インデックスとして使用されます。

したがって、非常に基本的な例は次のようになります。

私の考えでは、「ラッキー ナンバー」を保存する必要がないため、salt の計算にも時間がかかり、攻撃がさらに困難になります。プラスは、わずかに少ないデータを保存することを意味します。