問題タブ [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.
security - ユーザーIDとして電子メールハッシュを使用することは、匿名性を確保するための良い解決策ですか?
以下に準拠する必要がある「安全な」メッセージング アプリを作成したいとします。
誰かがサーバーデータベースにアクセスできる場合、通常のユーザー名/電子メールを置き換えるために使用するフィールドからユーザーを特定できません。
このソリューションは興味深いようです。
しかし、私は疑問に思います:
- より良い(より安全な)代替手段がある場合
- どのハッシュメカニズムを使用すべきか
java - Java 単体テストでパスワードがハッシュ化されているかどうかを確認する
プレーンテキストのパスワードから始めて BCrypt アルゴリズムを適用すると、Java 単体テストを実行する目的でハッシュ化されているかどうかをテストするにはどうすればよいですか?
asp.net-mvc-4 - BCryptHelper.CheckPassword は常に false を返します
私は BCrypt を使用してパスワード ハッシュを実装しています。これは非常に簡単に使用できるはずです。ただし、パスワードがハッシュ化されたパスワードに対してチェックされる場合、
これは常に false を返します。
ここに私のハッシュクラスがあります:
パスワードと hashedPassword が正しいかどうかを確認するためにデバッグしました。この問題の他の多くのケースは存在しないので、私が間違っていることがあるに違いありません。
ここで同じ質問を見つけました: ASP.NET MVC 3 アプリ、BCrypt.CheckPassword が失敗していますが、解決策はまだ見つかりません。
たぶん、ハッシュのための他のより良い解決策がありますか?
ありがとう
c# - C#で100万レコードのCSVを検索するためのバイナリ検索の代替?
ID列、日付列などで構成される100万件のレコードを含むcsvファイルがあります。入力ファイルから各レコードを読み取り、file1 nをリストに入れ、挿入中にその特定のIDがすでに存在するかどうかを確認する必要がありますはいの場合はリストで、日付をfile1の新しい日付に置き換えます。
これはバイナリ検索(List.BinarySearch)(C#)で実行できますが、ファイルサイズが大きいため、面倒なプロセスになると思います.代替手段は何ですか.これを効率的に行うにはどうすればよいですか
ありがとう
javascript - Javascript で「信頼できる」乱数を生成します。(衝突なし)
データベース キーとして使用するランダムな文字列を生成したいと考えています。
基本的にこれらは UUID ですが、必要な 122 ~ 128 ビットのランダム性を除けば、特定の仕様に準拠する必要はありません。
ほとんどのコードはブラウザーで実行されます。私が理解しているように、ブラウザーで実行されている Javascript は、乱数ジェネレーターを適切にシードすることを信頼できません。代わりに、乱数ジェネレーターにサーバーからのランダムデータをシードし、そのシードから複数の「UUID」を生成することを望んでいました。
この目的に使用できる適切な乱数ジェネレーターはありますか?
java - Java Hashmap の実装に関する問題
しばらく調査を行って古い投稿を調べた後、文字列がキーである Java で Hashmap または Hashtable を使用すると、ハッシュの最初の「ラウンド」が各文字列オブジェクト hashCode に適用されることに気付きました (明らかに 2 番目のハッシュがあります)。 )の結果に適用される関数でint hashCode()
、デフォルトint hashCode()
ではメモリ内の呼び出し元の場所と何らかの関係があります(私が読んだものから)。そうは言っても、開発者が定義したキーのクラスを含むマップがある場合int hashCode()
、オブジェクトのいくつかの異なるフィールドをオーバーライドして使用して、各オブジェクトに対して可能な限り一意の int を返すことができることを読みました。ただし、プリミティブ型の配列を含む以下のコード フラグメントを検討してください。
NullPointerException
もちろん、map.get( s );
null を返すため、プログラムはクラッシュします。map.put()
と の間に2 つの異なる参照があるため、これが発生したと思われますmap.get()
。プログラムに出力してもらいたいのは、1 2 3 4 5 です。
私の質問: 上記のコード フラグメントを取得して、キーの値とキーの参照によってキーを検索するにはどうすればよいですか? つまり、プログラムに 1 2 3 4 5 を出力させるにはどうすればよいでしょうか。
編集:ハッシュマップをルックアップテーブルとして使用しています。ファイルから文字列を読み取っていますが、読み取ったばかりの文字列がテーブルにあるかどうかをすばやく判断する方法が必要です。
java - ハッシュコードが正しくハッシュされていない
このクラスの関数を作成しましたが、hashcode
なんらかの理由で、キーが実際にHashMap
. (座標は文字列)
.equals
また、2 組の座標が互いに等しいかどうかをテストするクラスのメソッドも作成しました。ただし、ハッシュコード メソッドが正しく機能していることを確認するために、.equals
メソッドを次のように切り替えました。
そして、それらはすべて、次のような呼び出しで他の場所でhashmap.containskey()
呼び出されています。
何らかの理由で、これは true ~ 50% の場合にのみ返されます (まったく同じケースを再入力することさえありますが、機能する場合と機能しない場合があります)。HashMap
s とs で適切に動作するようにするSet
には、特にこの実装に問題があるのはなぜだろうと思っています。(基本的に、バグは何である可能性があります)
クエリの後にはその結果が続き、数値の長いセットはすべてのキーとそれに続く改行文字を表します