問題タブ [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.

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

cryptography - PBKDF2 に関するいくつかの質問

アプリのパスワード文字列からキーを取得するために PBKDF2 を使用していますが、それについていくつか質問があります。

1 つ目は、HMAC-SHA256 のようなハッシュを使用してオンラインで多くの PBKDF2 を見たことです。HMAC だけでなく、HMAC-SHA256 を使用するとはどういう意味ですか? HMAC はキーでデータを暗号化すると思いました。

次に、PBKDF2 関数が (1000 回ではなく) 1 回の反復しか使用しないため、BlackBerry の脆弱性があることを読みました。1回の繰り返しは、パスワードをハッシュするだけと同じですか(SHA256など)。

ありがとう

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

c# - Rfc2898DeriveBytes + PBKDF2 + SecureString 文字列の代わりに安全な文字列を使用できますか?

タイプGetPasswordを返す関数があります。SecureString

このセキュリティで保護された文字列を に渡しRfc2898DeriveBytesてキーを生成すると、Visual Studio でエラーが表示されます。私の限られた知識によるとRfc2898DeriveBytes、安全な文字列ではなく文字列のみを受け入れるためです。これに対する回避策はありますか?

0 投票する
1 に答える
22864 参照

openssl - PKCS5_PBKDF2_HMAC_SHA1()の使い方

私は使用しようとしていますPKCS5_PBKDF2_HMAC_SHA1()が、以下は私のサンプルプログラムです。私の結果PKCS5_PBKDF2_HMAC_SHA1()が正しいかどうかを確認したかったので、ウェブサイトhttp://anandam.name/pbkdf2/で同じことを確認したところ、別の結果が表示されました。API を正しく使用していますか?

塩の値を正しく渡しているかどうか疑問があります。

プログラムの後に結果とウェブサイトの結果を貼り付けました。

これを理解するのを手伝ってください。

サンプル出力:

ウェブサイトの結果:

0 投票する
1 に答える
1638 参照

hex - バイト配列の HEX 表現

私はこれを尋ねるのはかなりばかげているように感じますが、答えがわからないので、とにかく先に進みます。

私はいくつかの認証コードを試していて、Rfc2898DeriveBytes から取得したバイト配列を HEX に変換し、HMACSHA1 オブジェクトを正しく初期化するために再びバイト配列に戻す必要がある理由を知りたいと思っています。何かばかげたことをしているように感じます。 、または単に明らかな何かが欠けています。

私のクライアント コードは、 crypto-jsに基づく JavaScript 関数です。

私のサーバー側のコードは次のとおりです。

Web から取得した ByteArrayToString メソッドは次のとおりです。

への呼び出しから 32 バイトを取得していることがわかりますrfc2898.GetBytes(32)。ByteArrayToString メソッドを使用してこれを HEX に変換し、Javascript 変数 key256bit に表示されているものと一致することを確認しました。これで、テスト変数は長さ 64 の文字列になり、encoding.GetBytes(test) を使用して HMACSHA1 のコンストラクターに渡すと、長さ 64 のバイト配列になります。

crypto-js の doco が少し不足していますが、Crypto.PBKDF2 を param 32 で呼び出すと、32 バイト長 (または 256 ビット) のキーが作成されていると思いました。

説明をいただければ幸いです。

0 投票する
1 に答える
2574 参照

c# - RNGCryptoServiceProviderは、同じPWD、Salt、Iterationの組み合わせに対して同じハッシュを生成しません

Okiだから、.Netにランダムなソルトを追加してパスワードをハッシュしたいと思います。この目的で使用している組み込みクラスは、ランダムソルトを生成するためのRNGCryptoServiceProviderと、実際のパスワードをハッシュするためのRfc2898DeriveBytesです。

しかし、passwordString、SaltBytes、およびIteration countの同じ組み合わせに対してRfc2898DeriveBytesのGetBytes()関数を呼び出すと、結果が異なります。参照用にコードを貼り付けています

そして私のテストクラスでは、私はこの関数を持っています

テストは失敗します。
ただし、上記のクラスの場合、PBKDF2Implementationの行をSystem.Text.Encoding.ASCII.GetStringからSystem.Text.Encoding.Unicode.GetStringに、System.Text.Encoding.ASCII.GetBytesをSystem.Text.Encoding.Unicodeに置き換えます。 GetBytes

テストに合格します。なぜこれが起こっているのか考えていますか?ASCIIエンコーディングで動作させたい理由は、このハッシュ値が格納されているのと同じDBがPHPアプリケーションでも使用され、PHPのPBKDF2実装によって生成されたハッシュ値がRfc2898DeriveBytesのハッシュ値と一致するのはソルトエンコーディングがASCII。

これは、同じhttp://www.php.net/manual/en/function.hash-hmac.php#101540のPHP実装です 。

0 投票する
1 に答える
378 参照

asp.net - Rfc2898DeriveBytesを使用して同じソルトとパスワードを提供する同じキーが派生していますか

.NETでの暗号化に関するこのチュートリアルを読みました

Rfc2898DeriveBytesを使用して、対称アルゴリズムで使用されるランダムキーを作成します。ただし、キーは保存されません。その後、復号化メソッドで同じパスワードとソルトを提供し、テキストを復号化します。

同じソルトとパスワードをRfc2898DeriveBytesに提供すると、同じキーが派生する可能性があるということですか?キーを保存する必要はなく、ソルトとパスワードを保存するだけですか?

0 投票する
1 に答える
5333 参照

php - PBKDF2の推奨キーサイズは?

私の機能は次のとおりです。

1000はパスの数であり、128はキーサイズです。この関数は、base64を使用してデータベースに保存するバイナリキーを返します。

私の質問は、sha512を使用するpbkdf2の推奨キーサイズとソルトサイズは何ですか?

キーサイズ32は、キーサイズ128と同じくらい安全ですか?

0 投票する
1 に答える
1561 参照

node.js - PBKDF2 のすべての実装は、同一の入力から同じキーを生成する必要がありますか?

node.js のアプリケーションのハッシュ アルゴリズムを、JS ベースのCryptoJS実装からノード独自の暗号実装に切り替えています。

これが私の実装です:

私が気づいたことの 1 つは、最終的nodeCryptoKey32文字数になり、cryptoJSKey が192. keySizefor only ノードのcryptoバージョンを144( )に増やすとkeySize * 6、キーも192文字数になりますが、それでも異なります。

私は何か間違ったことをしていますか、それとも実装が互いに異なるだけですか?

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

security - ブルート フォース PBKDF2 はどのくらいの速さで実行できますか?

リンクインのパスワード ハッシュ リークの後、私はパスワード ハッシュを調べてきました。PBKDF2 を使用する Django 1.4 を使用しています。これは、以前の SHA1 からのステップアップです。

しかし、私はどれだけ簡単にそれを総当たりできるか興味があります。私はパスワードの複雑さのルールを見ていて、(たとえば) 8 つの長さの小文字の ASCII 文字を処理するのにどのくらいの時間がかかるか疑問に思っています。

LinkedIn のパスワード ハッシュをクラックするためのこのガイドでは、GPU で 1 秒あたり 4 億 3000 万の sha1 ハッシュを行っている人がいます。http://erratasec.blogspot.ie/2012/06/linkedin-vs-password-cracking.html PBKDF2 ではどのような速度が得られますか?

ブルート フォース PBKDF2 をどのくらいの速度で実行できるかについて、大まかな/封筒の裏/球場の数字を持っている人はいますか?

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

php - PBKDF2 を使用して MySQL DB にパスワードとソルトを保存する

pbkdf2 を使用して、ユーザーのパスワードを本当に安全なものにしようとしています。

パスワードハッシュはデータベースにうまく入りますが、ソルトはそうではありません。

ソルトには、mysql 列が好まないエキゾチックな文字が含まれているようです。

「users」テーブルのすべての列は UTF8_unicode_ci です。

これが私のパスワードハッシャーです:

そして pbkdf2:


また、同じパスワードに対してまったく異なるハッシュが保存されていることに気付きました。

私はこれを正しく行っていますか?