タグ付けされた質問 「hash」

ハッシュ関数は、大量のデータを小さなデータ(通常は単一の整数)に変換する明確に定義された手順または数学関数です。ソーシャルメディアのコンテンツにラベルを付けるために使用されるハッシュタグに関する質問については、ハッシュタグを使用してください。URLとHTMLアンカーに関する質問については、フラグメント識別子を使用してください。Rubyのハッシュタイプに関する質問については、ruby-hashを使用してください。

7
JavaScriptハッシュマップはどのように実装されていますか?
私は現在OpenLayersを使用しており、ベクターレイヤー(100000を超えるベクター)に描画するための膨大なデータセットを持っています。 現在、これらすべてのベクトルをJavaScriptハッシュマップに入れて、パフォーマンスを分析しようとしています。JavaScriptのハッシュマップがどのように実装されているのか知りたいのですが、それは実際のハッシュ関数ですか、それとも単純なデータ構造と検索アルゴリズムを使用するラップされた関数ですか?

5
ハッシュはPythonで何をしますか?
hash関数がタプルに適用されるコードの例を見ました。結果として、負の整数を返します。この関数は何をするのだろうか?グーグルは助けません。ハッシュの計算方法を説明しているページを見つけましたが、なぜこの関数が必要なのか説明していません。
88 python  hash 

9
.NETでは、nullのハッシュコードは常にゼロである必要があります
セットメンバーとしてSystem.Collections.Generic.HashSet<>受け入れるようなコレクションを考えるとnull、のハッシュコードはnullどうあるべきかを尋ねることができます。フレームワークが使用しているよう0です: // nullable struct type int? i = null; i.GetHashCode(); // gives 0 EqualityComparer<int?>.Default.GetHashCode(i); // gives 0 // class type CultureInfo c = null; EqualityComparer<CultureInfo>.Default.GetHashCode(c); // gives 0 これは、null許容列挙型では(少し)問題になる可能性があります。定義すると enum Season { Spring, Summer, Autumn, Winter, } その場合、Nullable<Season>(とも呼ばれますSeason?)は5つの値を取ることができますが、そのうちの2つ、つまりnullとSeason.Springは同じハッシュコードを持ちます。 このような「より良い」平等比較器を書きたくなります。 class NewNullEnumEqComp<T> : EqualityComparer<T?> where T : struct { public override …
87 c#  .net  hash  null 



6
C#でのSHA1アルゴリズムによるハッシュ
をbyte[]使用してSHA1アルゴリズムを使用して、指定された配列をハッシュしたいと思いSHA1Managedます。ハッシュはユニットテストから来ます。 予想されるハッシュは(大文字と小文字が区別されます)です。byte[]0d71ee4472658cd5874c5578410a9d8611fc9aef どうすればこれを達成できますか? public string Hash(byte [] temp) { using (SHA1Managed sha1 = new SHA1Managed()) { } }
86 c#  hash  byte  sha1  hashcode 

11
なぜ塩は辞書攻撃を「不可能」にするのですか?
更新:ソルトとは何か、レインボーテーブルとは何か、辞書攻撃とは何か、ソルトの目的は何かを尋ねていないことに注意してください。私は質問しています:ユーザーのソルトとハッシュを知っているなら、彼らのパスワードを計算するのはとても簡単ではありませんか? 私はプロセスを理解しており、いくつかのプロジェクトで自分で実装しています。 s = random salt storedPassword = sha1(password + s) 保存するデータベース: username | hashed_password | salt 私が見たソルティングのすべての実装は、パスワードの最後または最初にソルトを追加します。 hashed_Password = sha1(s + password ) hashed_Password = sha1(password + s) したがって、彼の塩の価値があるハッカーからの辞書攻撃(ha ha)は、上記の一般的な組み合わせで保存されている塩に対して各キーワードを実行するだけです。 確かに、上記の実装は、根本的な問題を実際に解決することなく、ハッカーに別のステップを追加するだけですか?この問題を回避するための代替手段はありますか、それとも私は問題を誤解していますか? 私が考えることができる唯一のことは、ソルトとパスワードをランダムなパターンで組み合わせたり、他のユーザーフィールドをハッシュプロセスに追加したりする秘密のブレンドアルゴリズムを使用することです。実りあることを証明するための辞書攻撃のためにそれらを。(コメントで指摘されているように、更新します。ハッカーがすべての情報にアクセスできると想定するのが最善であるため、これはおそらく最善ではありません)。 ハッカーがパスワードとハッシュのリストを使用してユーザーデータベースをハッキングすることを提案する方法の例を挙げましょう。 ハッキングされたデータベースのデータ: RawPassword (not stored) | Hashed | Salt -------------------------------------------------------- letmein WEFLS... WEFOJFOFO... 一般的なパスワード辞書: Common Password -------------- …


4
Pythonユーザー定義クラスをソート可能、ハッシュ可能にする
ユーザー定義クラスをPythonでソート可能および/またはハッシュ可能にする場合、どのメソッドをオーバーライド/実装する必要がありますか? 注意すべき落とし穴は何ですか? dir({})インタプリタに入力して、組み込みのdictのメソッドのリストを取得します。それらのうち、私はいくつかのサブセットを実装する必要があると思います ['__cmp__', '__eq__', '__ge__', '__gt__', '__hash__', '__le__', '__lt__', '__ne__'] Python2とは対照的にPython3に実装する必要のあるメソッドに違いはありますか?

11
組み込みのPythonhash()関数
Windows XP、Python 2.5: hash('http://stackoverflow.com') Result: 1934711907 Google App Engine(http://shell.appspot.com/): hash('http://stackoverflow.com') Result: -5768830964305142685 何故ですか?異なるプラットフォーム(Windows、Linux、Mac)で同じ結果が得られるハッシュ関数を使用するにはどうすればよいですか?

9
ハッシュ可能、不変
最近のSOの質問(リストでインデックス付けされたPythonでの辞書の作成を参照)から、Pythonでのハッシュ可能オブジェクトと不変オブジェクトの意味について間違った概念を持っている可能性があることに気付きました。 実際のハッシュ可能とはどういう意味ですか? ハッシュ可能と不変の関係は何ですか? ハッシュ可能である可変オブジェクトまたはハッシュ可能ではない不変オブジェクトはありますか?


14
Perlで、キーが特定の配列から取得されるハッシュを作成するにはどうすればよいですか?
配列があり、「配列にはXが含まれていますか?」をたくさん実行することがわかっているとします。チェックします。これを行う効率的な方法は、その配列をハッシュに変換することです。ここで、キーは配列の要素であり、次のように言うことができます。if($ hash {X}){...} この配列からハッシュへの変換を行う簡単な方法はありますか?理想的には、匿名配列を取得して匿名ハッシュを返すのに十分な汎用性が必要です。
80 arrays  perl  hash 

6
Rubyで<<を使用してハッシュにキーと値のペアを追加します
Rubyでは、&lt;&lt;:を使用して既存の配列に値を追加できます。 a = [] a &lt;&lt; "foo" しかし、既存のハッシュにキーと値のペアを追加することもできますか? h = {} h &lt;&lt; :key "bar" 私はあなたができることを知っています: h[:key] = "" h[:key] &lt;&lt; "bar" しかし、それは私が望んでいないことです。 ありがとう。
80 ruby  hash 

2
std :: hashが確定的であることが保証されていないのはなぜですか?
以降、N4140(C ++ 14 Standard)を使用します。 §17.6.3.4ハッシュ要件によると、 返される値k は、プログラム期間中の引数にのみ依存します。 [注:したがってh(k)、の同じ値を持つ 式のすべての評価は、プログラムの特定の実行に対してk同じ結果になります。—エンドノート] および§20.9.12クラステンプレートハッシュは言う ... インスタンス化hash&lt;Key&gt;は: (1.1)—ハッシュ要件を満たす(17.6.3.4)... (1.2)— ... これは、プログラムを再起動した場合value(つまりhash&lt;decltype(value)&gt;(value))のハッシュ値が別の値になる場合があることを意味します。 しかし、なぜ?この制限は、C ++ 11の標準ではなく、C ++ 14、C ++ 17、およびC ++ 20の標準にありました。ユーザー(STL開発者ではない)として、std::hash決定論的である場合は非常に便利です。確定的ハッシュ関数の実装に数学的な困難はありますか?しかし、私たちが日常的に使用しているハッシュ関数(たとえば、非推奨md5sumまたはより安全sha256)はすべて確定的です。効率の問題はありますか?

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.