問題タブ [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 投票する
1 に答える
99 参照

javascript - ハッシュ分布、なぜ 0 は常に重く重み付けされているのですか?

C++ から JavaScript に移植したハッシュ アルゴリズムの分布を確認するために、簡単なキャンバス ビジュアライゼーションを作成しました。

ハッシュを何に変更しても、ハッシュ関数から他のほとんどの数値よりも正確に 2 倍の頻度で 0 が選択されるという点で、0 は非常に偏っているという奇妙な動作が見られます。

デモはhttp://jsfiddle.net/x5L73/2/で見ることができます。

元の C++ アルゴリズム: http://www.azillionmonkeys.com/qed/hash.html

そして、私が参照しているコードの一部は、jsFiddle の下部にあります。

私にとって奇妙なのは、それを変更するために選択したものに関係なく、他の値の2hash倍の頻度でゼロになることです。この例では 0回ですが、それ以外の数値はヒット回数です。これは、以下を介したブルート フォース テストによって決定されました。1/34991/6998

ここで何が欠けていますか???

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

c++ - C++: 文字列の順序が関係ない一連の文字列のハッシュ関数に関する提案

これらの2つの文字列シーケンスがあるとしましょう

abc cba bc

bc abc cba

上記の 2 つのシーケンスが同じバケットにマップされるように、そのようなシーケンス (シーケンスも文字列) のマッピングを作成しようとしています。

私の最初の考えは、各文字列に個別に適用されるハッシュ関数の結果を追加することです。このように、それらの順序は重要ではありません。シーケンス文字列全体にハッシュ関数を適用すると、もちろんハッシュ結果は異なります。

ただし、私は文字列ハッシュ関数の世界に非常に慣れていないため、このアプローチが効率的かどうかはわかりません。

このウェブサイトhttp://www.partow.net/programming/hashfunctions/index.html

文字列ハッシュのさまざまな実装を見つけましたが、どれが私のニーズに「最適」かはわかりません。

シーケンス内の各文字列に関する技術的な詳細は、それぞれが 25 文字を超えないことです。また、各シーケンスには 3 つを超える文字列はありません。

質問

1.文字列ハッシュ関数の結果をシーケンスの各文字列に追加するこのアプローチは機能しますか?

2.はいの場合、どの文字列ハッシュ関数を使用すれば、衝突が少なく、時間効率が高くなりますか?

前もって感謝します

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

c++ - 文字列用のダブル ハッシュ実装をプログラムするにはどうすればよいですか?

こんにちは、初めてここにいますが、最初に二重ハッシュの理解が正しいかどうかを尋ねることから始めたいと思います。

ダブルハッシュは、最初にハッシュ関数を実装し、次にそのスポットが開いているかどうかを確認することで機能します。現在のスポットが開いていない場合は、2 番目のハッシュ関数を使用して別のスポットを決定し、それを現在の試行で乗算してから、最初のハッシュ アルゴリズムによって決定されたインデックス スポットに追加します。

私が持っている現在のコードは次のとおりです。

2 番目のハッシュ関数が含まれていないことに気付きました

そのようには見えないかもしれませんが、実際には tsize は正しく呼び出されています。

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

php - 安全なハッシュ方法

MVC スタイルの Web アプリで、グローバルに利用できるハッシュ方法を設定する最善/最も安全な方法は何ですか?

残りの足場によって拡張されたコアコントローラー内でこれを行っています。

これは良い習慣ですか、それとも別のことをすべきですか?

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

php - PHP 5.5 で password_needs_rehash 関数を使用する方法

以前に sha512 を使用してハッシュした一連のパスワードがデータベースにあり、サーバーを PHP 5.5 にアップグレードしたので、bcrypt パスワード ハッシュを使用したいと考えています。したがって、私の考えは、ユーザーのログインを取得し、ここで説明されているこの password_needs_rehash 関数を呼び出してパスワードを確認し、データベースのパスワード ハッシュを更新することです。

http://php.net/manual/en/function.password-needs-rehash.php

ただし、この関数の使用方法はわかりません。ここにリストされている例はなく、オプション配列の目的が実際には明確ではありません。次のように password_needs_rehash 関数を呼び出す必要がありますか?

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

ios - クライアント/サーバーアプリケーションのユーザーパスワードのハッシュ

Web サーバーと通信する iPhone アプリがあります。アプリを起動するとき、ユーザーはユーザー名とパスワードで認証する必要があります。アプリと Web サーバー間の通信は保護されています (HTTPS) が、Web サーバーにクリア パスワードを送信したくありません。パスワードの「署名」だけを送信したいと思います (署名はWeb サーバー上のデータベース)。

IOS でこの「署名」を作成するための最良の解決策は何ですか? MD5 などを使用する必要がありますか?

この署名を作成するには、外部ライブラリを取得する必要がありますか?それとも、IOS SDK の SecKeyEncrypt を使用して行うことができますか?

長期的には、Android でアプリを実行する予定であり、IOS と Android で同じ署名を生成できる必要があります。

ご協力いただきありがとうございます、

セバスチャン。

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

sql - ハッシュ化されたタイプの複数のパスワードを一度に値 (ユーザー名) に置き換えます

データ テーブル: people_t

列:

クエリ:

タイプ ハッシュの複数のパスワードをユーザー名に変更したいと考えています。コマンドの後、パスワードは引き続きハッシュされますが、実際のパスワードはユーザーのユーザー名になります。例えば

  • ユーザー名: ジョンドー
  • パスワードハッシュ: iamjohn

となります:

  • ユーザー名: ジョンドー
  • パスワードハッシュ: johndoe

私は次のことを試みています:

WHERE句が必要ですか、それともここで何が間違っていますか?

よろしくお願いします。