問題タブ [bcrypt]

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 投票する
6 に答える
36215 参照

php - PHP でパスワードを crypt() と比較する

この関数の基本を理解する必要があります。php.net のドキュメントには、blowfish アルゴリズムについて次のように記載されています。

「$2a$」、2 桁のコスト パラメータ、「$」、およびアルファベットの 22 個の base 64 桁「./0-9A-Za-z」のソルトを使用したフグのハッシュ。ソルトでこの範囲外の文字を使用すると、crypt() は長さゼロの文字列を返します。

したがって、これは定義上、機能しないはずです。

ただし、次のように吐き出します。

crypt() がソルト自体を 22 の長さにカットしたように見える場所。誰かがこれを説明してくれませんか?

私が理解できないこの関数の別の側面は、crypt() を使用してパスワードを比較する場合です。http://php.net/manual/en/function.crypt.php (例 #1 を参照)。これは、すべてのパスワードを暗号化するために同じソルトを使用する場合、最初に暗号化する必要があるということですか? すなわち:

御時間ありがとうございます

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

php - PHPアプリケーションでbcryptをベンダー化するにはどうすればよいですか(そしてそうすべきです)?

私は比較的成熟したオープンソースのPHPプロジェクトに貢献しています。最近、パスワードがプレーンなMD5ハッシュとして保存されていることを発見しました。これは、私にとって非常に面倒です。修正するならDoItRight(tm)もいいと思ったので、bcryptを使いたかった。

まず、私が他の言語で見つけたもの:bcrypt-rubyは、OpenBSDの元のCコードまたはjBCryptのJavaコードのいずれかを使用しているようです。 py-bcryptは、BSDコードの薄いラッパーです。 BCrypt.netはjBCryptの直接ポートです

現在、PHP自体はcrypt関数でbcrypt(誤解を招くように単に「blowfish」と呼ばれていますが)をサポートしています。ただし、5.3より前のバージョンでは、システム自体のサポートが必要です。これは通常、crypt_blowfishによって提供されます。 phpassも同じで、PHP5.3またはSuhosinのいずれかをインストールすることをお勧めします。

アプリケーションの多くのユーザーは標準の共有ホスティングを使用しているので、サーバーの特別な構成は必要ありません。PHPの5.3リリースからコードを盗むことを望んでいましたが、それはCであり、(私が行ったほんの少しの読みから)プロジェクトのユーザーにC拡張機能の使用を要求することはできません。

私はbcryptの純粋なPHPポートを作成することを考えましたが、jBCryptのソースを見ると、PHPとblowfishのどちらにも非常に精通しておらず、ここでの間違いが同時に発生する可能性があるため、そうすべきかどうかわかりません。そもそも危険で検出が難しい。

それで、私はあなたに2つの(マルチパート)質問を提示します:

  1. PHPの知識が不足しているので、私を最大限に活用できますか?すでに作成されている実装の1つを実際に使用できますか?
  2. 代わりに、構成可能な回数だけ呼び出すsha1()か、md5()繰り返し実行する単純なループ関数を作成する必要がありますか?
0 投票する
1 に答える
880 参照

bcrypt - Windows に bcrypt-ruby をインストールする

make.bat を bin\ フォルダーにコピーしました。コマンド gem install bcrypt-ruby を実行すると、bash.exe が内部コマンドまたは外部コマンドではないことが示されます。

それを解決する方法は?

0 投票する
6 に答える
10967 参照

ruby-on-rails - ロードするそのようなファイルはありません--bcrypt_ext(devise経由)

Rails 3のdevise(current gem)でデータベース認証を使用していますが、ユーザー名/パスワードでログインしようとすると、次のエラーが発生します。

私は以前に「bcrypt-ruby-2.1.2を正常にインストールしました」gemを持っています。

何か案は?また、bundlerにgitリポジトリアドレスを指定してマスターをフェッチしようとしましたが、問題は解決しません。

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

java - javaのappengineでbcryptを使用するにはどうすればよいですか?

GAE/J で動作する無料の実装はありますか?

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

ruby-on-rails - Diaspora、bcrypt seg faults の dev db をシードしようとしています。MacOSX

Diaspora https://github.com/diaspora/diaspora/wikiの開発者インスタンスで rake db:seed:dev を実行しようとすると、bcrypt-ruby セグメンテーション エラーが発生します。私は周りを見回しましたが、bcrypt-ruby とセグメンテーション エラーに関連する情報を見つけることができません。誰にもアイデアがありますか、何が起こっているのか知っていますか? 実は私もRuby初心者です。

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

ruby-on-rails-3 - フォーラムトリップコードの Datamapper コールバック

コンテキスト: フォーラムの tripcode 実装 (http://en.wikipedia.org/wiki/Tripcode) を作成します。基本的に、登録不要の識別のための弱いハッシュ。

「Post」というモデルが 1 つあります。投稿は親子形式で配置され、新しい投稿は親を作成し、返信は親から子を作成します。1 つのフォームがあり、現在、コントローラー/モデルに投稿するフィールドがあり、コンテンツとパスワードのフィールドが含まれています。

基本的なフローは次のとおりです。投稿/返信。パスワード フィールドにパスワードがある場合は、それを取得して bcrypt を実行し、後で比較するためにその結果を password_hash として保存し、表示用のトリップコードを作成します。しかし、頭を打ち負かしてきたエラーが発生しています

私が得ている主なエラーは

未定義のメソッド「プリミティブ?」nil:NilClass の場合

から発しているように見える

lib/active_support/whiny_nil.rb:48:`method_missing' 内

これを処理または回避する方法がわかりません。私は何かをしていないか、コントローラーで何かをチェックしていませんが、まだわかりません。私が得ている他のエラーは、無効な bcrypt ハッシュに起因しますが、これをすぐに複製することはできません。

フック メソッドは、bcrypt-ruby ページのすぐそばにあります。

BCryptHash フィールドの作成 (dm-types) は機能しますが、ローカルホスト サーバーでフォームを処理する時間が 10 倍になり、投稿ごとに処理されるため、bcrypt ハッシュのコストを微調整する方法が必要です。 (たとえば、デフォルトの10ではなく1)、パスワードが存在する場合にのみ実行します。これが、私がこれを行っている理由です。

しかし、これは今のところうまくいきません。私は十分に頭をぶつけて、他の問題に移り、何らかの意見が得られたら戻ってきます。私はレールで作業しているので、主にレールの問題ではありませんが、そのタグを追加しました。

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

passwords - パスワードハッシュ:PBKDF2(sha512 x 1000を使用)とBcrypt

私はGawkerの事件について読んでいて、パスワードをハッシュするためにbcryptのみを使用することに関していくつかの記事が出てきました。ハッシュメカニズムが、別の方法に切り替えないように十分に安全であることを確認したいと思います。私の現在のアプリケーションでは、sha2-512と最低1000回の反復を利用したPBKDF2の実装を選択しました。

PBKDF2とBcryptの使用について、また変更を実装する必要があるかどうかについて意見を求めることはできますか?

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

bcrypt - 最適な bcrypt ワークファクター

パスワードハッシュのための理想的なbcryptワークファクターは何でしょうか.

係数 10 を使用すると、ラップトップでパスワードをハッシュするのに約 0.1 秒かかります。非常に忙しいサイトになってしまうと、人々のパスワードをチェックするだけでかなりの作業になります。

おそらく、作業係数 7 を使用して、合計パスワード ハッシュ作業をラップトップ ログインあたり約 0.01 秒に減らす方がよいでしょうか?

ブルート フォースの安全性と運用コストのトレードオフをどのように決定しますか?

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

ruby-on-rails - shaの代わりにbcryptを使用するようにdeviseとrails3を変更する

認証を処理するためにdeviseを使用するRails3プロダクションアプリがあります。アプリでshaの代わりにbcryptを使用するように変更したいのですが、一方から他方への移行プロセスを説明するリソースが見つかりません。現時点でパスワードが特定の方法で変更されているという事実を処理するには、何らかのフォールバックを設定する必要があると思います...

誰かが前にこれをしましたか?!ヒント、チュートリアル、ウォークスルーなどはありますか?!