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

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

14
PHPパスワードの安全なハッシュとソルト
現在、MD5は部分的に安全ではないと言われています。これを考慮して、パスワード保護に使用するメカニズムを知りたいのですが。 この質問は、「ダブルハッシュ」は1回だけハッシュするよりも安全性が低いですか。 複数回のハッシュが良い考えかもしれないが、個々のファイルにパスワード保護を実装する方法は?塩の使用を提案しています。 PHPを使用しています。安全で高速なパスワード暗号化システムが必要です。パスワードを100万回ハッシュする方が安全な場合がありますが、速度も遅くなります。速度と安全性のバランスをどのようにして実現するのですか?また、結果の文字数が一定であることを望みます。 ハッシュメカニズムがPHPで使用可能である必要があります 安全である必要があります 塩を使用できます(この場合、すべての塩が同等に良いですか?良い塩を生成する方法はありますか?) また、データベースに2つのフィールドを保存する必要がありますか(たとえば、1つはMD5を使用し、もう1つはSHAを使用)。それはそれをより安全または安全ではないでしょうか? 私が十分に明確でない場合は、安全で高速なパスワード保護メカニズムを実現するために、使用するハッシュ関数と適切なソルトを選択する方法を知りたいです。 私の質問を完全にカバーしない関連質問: PHPのSHAとMD5の違いは何ですか? 単純なパスワード暗号化 キー、asp.netのパスワードを保存する安全な方法Tomcat 5.5 でソルトパスワードを どのように実装しますか


4
bcryptに組み込みのソルトを含めるにはどうすればよいですか
Coda Haleの記事「パスワードを安全に保存する方法」では、次のように述べています。 bcryptには、レインボーテーブル攻撃を防ぐためのソルトが組み込まれています。 彼はこの論文を引用し、OpenBSDの実装ではbcrypt次のように述べています。 OpenBSDは、カーネルがデバイスタイミングから収集するランダムデータをシードしたarcfour(arc4random(3))キーストリームから128ビットのbcryptソルトを生成します。 これがどのように機能するかわかりません。私の塩の概念では: 保存されているパスワードごとに異なる必要があるため、それぞれに個別のレインボーテーブルを生成する必要があります。 繰り返し使用できるように、どこかに保存する必要があります。ユーザーがログインしようとすると、パスワードの試行が行われ、最初にパスワードを保存したときと同じソルトアンドハッシュ手順を繰り返し、比較します。 Devcrypt(Railsログインマネージャー)をbcryptで使用している場合、データベースにsalt列がないため、混乱しています。ソルトがランダムでどこにも保存されていない場合、ハッシュプロセスを確実に繰り返すにはどうすればよいですか? 要するに、どのようにbcryptは組み込みのソルトを持つことができますか?


12
ハッシュアルゴリズムと暗号化アルゴリズムの基本的な違い
ハッシュと暗号化アルゴリズムの間に多くの混乱が見られます。次のことについて、より専門的なアドバイスを聞きたいです。 ハッシュと暗号化を使用する場合 ハッシュまたは暗号化アルゴリズムを(理論的/数学的なレベルから)異なるもの、つまりハッシュを不可逆にするもの(レインボーツリーの助けなし) 以下は、私が探していたほど詳細に説明しなかったいくつかの同様の SO質問です。 難読化、ハッシュ、暗号化の違いは何ですか? 暗号化とハッシュの違い

14
ハッシュテーブルはどのように機能しますか?
ハッシュテーブルがどのように機能するかについての説明を探しています。 たとえば、私はそれがキーを受け取り、ハッシュを計算し(方法の説明を探しています)、ある種のモジュロを実行して、値が格納されている配列のどこにあるかを計算しますが、ここで私の知識が停止します。 誰かがプロセスを明確にできますか? 編集:ハッシュコードの計算方法については特に質問していませんが、ハッシュテーブルの動作の概要については質問します。

12
String内のJavaのhashCode()が31を乗数として使用するのはなぜですか?
Javaドキュメントによれば、オブジェクトのハッシュコードStringは次のように計算されます。 s[0]*31^(n-1) + s[1]*31^(n-2) + ... + s[n-1] int算術を使用します。ここs[i]で、 は文字列のi番目の文字、文字列nの長さ、および^指数を示します。 31が乗算器として使用されるのはなぜですか? 乗数は比較的大きな素数でなければならないことを理解しています。では、なぜ29や37、あるいは97でもないのでしょうか。
480 java  string  algorithm  hash 

12
HashSetとリストのパフォーマンス
総称HashSet<T>クラスの検索パフォーマンスが総称クラスの検索パフォーマンスよりも高いことは明らかですList<T>。ハッシュベースのキーをList<T>クラスの線形アプローチと比較するだけです。 ただし、ハッシュキーの計算自体にいくつかのCPUサイクルがかかる場合があるため、少量のアイテムの場合、線形検索はの実際の代替となりHashSet<T>ます。 私の質問:損益分岐はどこですか? シナリオを簡略化するために(そして公平を期すために)、List<T>クラスが要素のEquals()メソッドを使用してアイテムを識別すると仮定しましょう。

16
ハッシュ関数はなぜ素数モジュラスを使用する必要があるのですか?
昔、私はデータ構造の本をバーゲンテーブルから1.25ドルで購入しました。その中で、ハッシュ関数の説明は、「数学の性質」のため、最終的には素数でmodするべきだと述べていました。 1.25ドルの本に何を期待しますか? とにかく、私は何年にもわたって数学の性質について考えてきましたが、それでもそれを理解することはできません。 素数のバケットがある場合でも、数の分布は本当にもっと多いのでしょうか?それとも、他の誰もがそれを受け入れるので、これは誰もが受け入れる古いプログラマーの物語ですか?

6
ファイルのMD5チェックサムを計算する
iTextSharpを使用してPDFファイルからテキストを読み取ります。ただし、PDFファイルには画像しか含まれていないため、テキストを抽出できない場合があります。同じPDFファイルを毎日ダウンロードしていますが、PDFが変更されていないか確認したいと思います。テキストと変更日を取得できない場合、MD5チェックサムはファイルが変更されたかどうかを確認する最も信頼できる方法ですか? もしそうなら、私は暗号化の経験があまりないので、いくつかのコードサンプルがありがたいです。
334 c#  .net  hash  md5 

11
node.jsハッシュ文字列?
ハッシュしたい文字列があります。node.jsでハッシュを生成する最も簡単な方法は何ですか? ハッシュはバージョン管理用であり、セキュリティではありません。
325 hash  node.js 

4
Bcryptハッシュパスワードをデータベースに保存するには、どの列タイプ/長さを使用すればよいですか?
ハッシュされたパスワード(BCryptを使用)をデータベースに保存したい。これに適したタイプは何ですか?正しい長さはどれですか?パスワードは常にBCryptでハッシュされ、同じ長さですか? 編集 ハッシュの例: $2a$10$KssILxWNR6k62B7yiX0GAe2Q7wwHlrzhF3LqtVvpyvHZf0MwvNfVu 一部のパスワードをハッシュした後、BCryptは常に60文字のハッシュを生成するようです。 編集2 実装について言及しなかったのは申し訳ありません。私はjBCryptを使用しています。
318 mysql  hash  types  storage  bcrypt 


16
「ダブルハッシュ」は、一度だけハッシュするよりも安全性が低いですか?
保存する前にパスワードを2回ハッシュすることは、1回だけハッシュするよりも安全ですか? 私が話しているのはこれを行うことです: $hashed_password = hash(hash($plaintext_password)); これだけではなく: $hashed_password = hash($plaintext_password); 安全性が低い場合、適切な説明(またはリンク)を提供できますか? また、使用されるハッシュ関数は違いを生みますか?同じハッシュ関数を繰り返す代わりに、md5とsha1を(たとえば)混在させると、違いはありますか? 注1:「ダブルハッシュ」とは、パスワードをよりわかりにくくするために、パスワードを2回ハッシュすることを指します。私は衝突を解決するためのテクニックについて話しているのではありません。 注2:本当に安全にするために、ランダムなソルトを追加する必要があることはわかっています。問題は、同じアルゴリズムで2回ハッシュすることがハッシュを助けるか傷つけるかです。

2
カスタムクラスタイプをキーとして使用するC ++ unordered_map
unordered_map次のように、カスタムクラスをのキーとして使用しようとしています。 #include <iostream> #include <algorithm> #include <unordered_map> using namespace std; class node; class Solution; class Node { public: int a; int b; int c; Node(){} Node(vector<int> v) { sort(v.begin(), v.end()); a = v[0]; b = v[1]; c = v[2]; } bool operator==(Node i) { if ( i.a==this->a && i.b==this->b &&i.c==this->c …

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