問題タブ [pbkdf2]
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.
php - PHP の PBKDF2 パスワードハッシュ
最近の投稿に関する素晴らしいアドバイスのおかげで、 https: //defuse.ca/php-pbkdf2.htm から PBKDF2 を 小さな PHP イメージ ギャラリーに実装して、PHP を独学するために構築しています。
ソルトとハッシュをデータベースに保存し、ユーザーがパスワードを入力したときに一致するようにそれらを再構築することを理解しています。私が理解できないのは、上記の Web サイトの validate_password 関数が、同じパスワードに対して異なる一意のソルトを生成するときにどのように機能するかです。
たとえば、自分の名前 (andrew) だけのパスワードを繰り返し生成するテストを作成しました。おそらくソルトが一意であるために、最終的なハッシュが異なるたびに?ただし、どの生成されたハッシュがパスワードと比較されたかは問題ではなく、検証されました。(明らかに、Andrew56 や ndrew1 などのまったく異なるパスワードは検証されませんでした)。
なぜこれが当てはまるのか、誰でも私の単純な自分に説明できますか? 塩を保管する必要さえないようですか?これが話題から外れていないことを願っています。
java - 異なるマシンでPBKDF2を使用すると異なる結果が得られるのはなぜですか?
PBKDF2を使用してパスワードを保存しようとしています。次に、別のマシンで生成されたパスワードハッシュを含むコードを使用しています。
私はこの方法を使用してパスワードを暗号化しています:
正常に動作しますが、別のマシンで実行すると(つまり、プロジェクトを別のマシンにインストールし、最初に実行したマシンのデフォルトのパスワードが暗号化されたデータベースを使用して)、同じソルトとパスワードそれは私に異なる暗号化を与えます。私が理解している限り、SecretKeyFactoryメソッドは、指定した入力のみに依存しますか、それとも実行しているマシンにも依存しますか?
もしそうなら、インストール中に余分なコードを実行せずに、このセキュリティメカニズムを使用して最初のインストールのデフォルトパスワードを保存するにはどうすればよいですか?
ありがとう!
python - 最小限のブロッキングでトルネードのパスワードをハッシュするにはどうすればよいですか?
私はPBKDF2を使用していますが、これはBCryptにも同様に当てはまります。
妥当な反復回数でパスワードをハッシュすると、0.5秒間簡単にブロックできます。これをプロセスから取り除くための軽量な方法は何ですか?この操作のためだけにCeleryやGearmanのようなものをセットアップするのは気が進まない。
python - python passlib:「ラウンド」の最良の値は何ですか
一般向けのほとんどのサービスでは、通常、ユーザーがイライラし始めるまでに 250 ミリ秒から 400 ミリ秒のサインイン時間がかかります。
したがって、ログイン試行のためにデータベースへの呼び出しが 1 つあり、それが非ブロッキング呼び出しでMongoDBを使用していると考える場合rounds
、ログイン/登録での最適な値は何でしょうか。( Mongotorを使用し、電子メールを として使用するため、デフォルトでindexedです。クエリは高速です: 0.00299978256226そしてもちろん、 3 つのレコードを持つデータベースでテストされています...)_id
半分の値を使用する場合:
Dell XPS 15 i7 2.0 Ghz で Windows 7 64 ビットを使用しています
注意: bcryptをインストールしました。もちろん、デフォルト値として直接使用するのは本当に面倒です ( rounds = 12
):
半値:
pbkdf2_sha512
プロダクションに適したラウンド値を提案してもらえますか?
php - PHP での PBKDF2 によるセキュリティ
だから私はいくつかの機密データをデータベースに保存しています(とりわけいくつかのパスワード)、現在これを使用しています: https://github.com/P54l0m5h1k/PBKDF2-implementation-PHP
つまり、キーを使用してデータを暗号化および復号化できます。
たとえば、使用されるキーが機密データと同じサーバーに保存されていないとします。ハッカーがどうにかして私のテーブルにアクセスし、暗号化されたデータを見た場合、キーなしでデータを解読することは可能でしょうか?
cuda - GPU KDF ハッシャー (クラッカーの代わり)
だから私は GPU クラッカーに追いついてきましたが、それらは非常に印象的です。誰かが 1 秒間に最大 3,840 億個のパスワードを取得したという記事を見たことがあります。PBKDF2 を 1 回限りのハッシュの代わりにランダムなソルトで使用してきましたが、CPU を確実に消費する可能性があります。クラッカーの代わりに、NVIDIA Cuda のようなものを使用して PBKDF2 などをより高速に分散して実行することは可能でしょうか? 誰もこれをやろうとしましたか?
python - pbkdf2 VS bcrypt、ラウンド?
私はばかげた質問をしています(そしておそらくすでに尋ねられています):
人々は常にBCryptとPBKDF2 を比較し、たとえばGPUを使用するのが遅いため BCrypt の方が優れていると言いますが、特にBCryptが強力ではないPythonについて話すときは無視されます。私の質問は簡単です:Rounds value
テストでは、優れたpythonライブラリPasslibを使用しました
ラウンド値が小さい場合でもBCryptを使用する価値はありますか? Passlib では、デフォルト値はであり12
、テスト済みで が得られました0.40 seconds
が、PBKDF212000
ではラウンドのデフォルト値が得られました。0.142 seconds
たとえば、BCrypt を 5 ラウンドだけ使用した場合、「私のアプリケーションは、12000 ラウンドで PBKDF2 を使用するよりも安全で高速です!」と言うでしょう。(それは私が知っているばかげているようです、ごめんなさい)。
bcrypt - BCryptとSCryptは鍵導出関数ですか?
この質問で申し訳ありませんが、私は常にPBKDF2と比較してそれらを見つけます、それでBCryptとSCrypt KDFはそうですか?
bcrypt - pbkdf2でブルートフォースがどのように発生する可能性がありますか?
この質問は申し訳ありませんが、私は尋ねていました。MD5を使用するとハッシュが取得されるため、パスワードを取得するには、同じハッシュが見つかるまですべての単語をハッシュします。
しかし、pbkdf2、bcrypt、scryptなどの鍵導出アルゴリズムでは、ハッカーは何を探す必要がありますか?または、すべての単語に対して同じアルゴリズムを作成して、同じ鍵導出を取得しますか?
このばかげた質問でごめんなさい。
encryption - ランダムバイトの鍵導出関数?
KDF(鍵導出関数)がユーザーパスワードを拡張するために使用されていることを私は知っています。これは基本的に暗号化アルゴリズムの鍵として使用するのには適していません。
しかし、ランダムキー(ランダム32バイト)を作成した場合でも、適切な暗号化を保証するためにKDFを使用する必要がありますか?