問題タブ [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.
php - PHPでパスワードをハッシュするためにbcryptをどのように使用しますか?
「PHP にパスワードを保存するために bcrypt を使用する、bcrypt ルール」というアドバイスを時々耳にします。
しかし、何bcrypt
ですか?PHP にはそのような機能はありません。ウィキペディアではファイル暗号化ユーティリティについてうわさ話をし、Web 検索ではさまざまな言語でのBlowfishの実装がいくつか明らかになるだけです。現在、Blowfish は 経由で PHP からも利用できますがmcrypt
、これはパスワードの保存にどのように役立つのでしょうか? Blowfish は汎用暗号であり、2 つの方法で機能します。暗号化できれば、復号化できます。パスワードには一方向ハッシュ関数が必要です。
説明は何ですか?
ruby - 複数のオペレーティングシステムで「bcrypt」が失敗する必要がありますが、何が欠けていますか?
小さなSinatraアプリケーションで取得したHTTP-Authを置き換えるために、単純な認証で作業しようとしています。bcrypt-ruby gemは正常にインストールされますが、require 'bcrypt'
常にエラーがスローされます:no such file to load -- bcrypt
。私は自分のgemリストでインストールを確認しましたが、他のgemで同様のエラーが発生したことはなく、bcryptの検索結果がかなりあり、エラーが見つかりませんでしたが、いずれも解決策を提供していません。
c# - BCrypt for .NET に関するドキュメントはどこにありますか?
NuGet を使用して BCrypt ライブラリを取得しましたが、適切にインストールされています。今、それとその使用方法について読みたいのですが、ドキュメントが見つからないようです。
ライブラリの名前空間を検索しても結果は得られませんでした:
いくつかの例、または単純な古いドキュメントを見つける場所について何か提案はありますか? 私はC#を使用しています。
c# - 誰かがBCryptがハッシュを検証する方法を説明できますか?
パスワードをハッシュするためにC#とBCrypt.Netを使用しています。
例えば:
ソルトをどこにも保存していない場合、BCryptはハッシュを使用してパスワードをどのように検証しますか?私が持っている唯一のアイデアは、ハッシュの最後にソルトを追加することです。
これは正しい仮定ですか?
.net - 推奨される BCrypt.Net 実装
BCrypt.net にはいくつかの異なるポートがあり、どれが「最適」かを判断するのは非常に困難です。
誰かが時間を割いてそれらをレビューし、どのプロジェクトをひいきにするかについて何らかの結論に達しましたか? 私が最も興味を持っているのは、開発者のコミュニティが最も活発なのはどれかということです。もちろん、機能セット、有効性、シンプルさ、ドキュメントも素晴らしいです:)
以下は、私が追跡できた BCrypt.Net 実装のリストです。
私が知る限り、これは最初の移植であり、しばらく更新されていません。バージョン 0.1
ユーザーは Derek Slager のコピーを Google コードに投稿し、いくつかの改善を行いました。バージョン 0.3
Visual Studio の唯一の NuGet バージョンであり、ソースのないコンパイル済みコピーであるため、確実なことは何もわかりません。バージョン 0.3 の Google Code エディションでのみ利用可能な新しい機能をサポートしているようです。サポートサイトがリストされておらず、それがオープンソースであり、いかなる種類の帰属も持っていないかどうかはわかりません(少し大雑把です)。バージョン 1.0、213 ダウンロード。
これは、Derek Slager のポートとは関係のない完全に独立したポートのようです。半定期的に更新されているようです。バージョン R5、140 ダウンロード。
このリストは完全ですか?どちらかを選択する理由はありますか?
.net - HashAlgorithmを実装するbcryptの.Net実装?
認証ライブラリで bcrypt のサポートを許可したいと考えています。現在の問題の 1 つは、ハッシュのタイプがHashAlgorithm
. Bcrypt.net はこのクラスを実装していません。また、封印されているため、自分でブランチを作成して自分で変更する必要があります。HashAlgorithm を既に実装しているより良い代替手段はありますか?
passwords - bcrypt -- ムーアの法則に追いつく
私はデータベースにパスワードを保存するためにbcryptを使用しています。作業係数 7 を使用しています。これは、かなり最新のラップトップで単一のパスワードをハッシュするのに約 0.02 秒かかります。
Coda Hale 氏は、bcrypt を使用すると、作業要素を微調整することで「ムーアの法則に遅れずについていく」ことができると述べています。しかし、平文を保存していないため、ユーザーのパスワードを再暗号化する方法はありません。データベースをクラックされにくく最新の状態に保つにはどうすればよいですか (これが問題になるまでに 5 年以上かかると仮定して)。
mysql - Bcrypt でハッシュ化されたパスワードをデータベースに保存するには、どの列タイプ/長さを使用すればよいですか?
ハッシュ化されたパスワード (BCrypt を使用) をデータベースに保存したいと考えています。これに適したタイプはどれで、正しい長さはどれですか? BCrypt でハッシュ化されたパスワードは常に同じ長さですか?
編集
ハッシュの例:
$2a$10$KssILxWNR6k62B7yiX0GAe2Q7wwHlrzhF3LqtVvpyvHZf0MwvNfVu
いくつかのパスワードをハッシュした後、BCrypt は常に 60 文字のハッシュを生成するようです。
編集2
実装について言及せずに申し訳ありません。jBCryptを使用しています。
ruby-on-rails - Rails 3 Deviseは、より多くの暗号化「ストレッチ」で停止するようにグラインドします
を入力するたびにconfig.stretches = 20
、config/initializers/devise.rb
サーバーは暗号化要求でタイムアウトになります。
reposnse時間は15ストレッチで耐えられ、ストレッチ値を上げると急速に増加し、19で完全に使用できなくなります。この値が与えるパフォーマンスへの影響についてはよくわかりませんが、指数関数的であってはなりません。私が経験していることです。どうやら、authlogicの互換性を除いて、この値を上げる必要はないようですが、とにかく間違っているようです。
https://github.com/plataformatec/devise_example/の完全に新しいインストールでこれを確認しました。
この動作は、Ubuntu 11.04、3.0.x Railsバージョン、3.1.0.beta1、デバイス1.3.1および1.3.4、mysql、pg、sqliteドライバーで観察されます。brcypt
これは、暗号化装置だけでなく、暗号化装置にも当てはまりますsha1
。
c# - iOSにはbcryptの実装はありません...他の言語を使用できますか、静的ライブラリを作成しますか?
Objective-Cには単純なbCrypt(http://codahale.com/how-to-safely-store-a-password/)の実装はありません。これを実現するCコードはありますが、特にx86プロセッサ用です。 、BSDライブラリに依存しています。
対応するオンライン(.NETおよびHTML5 + Javascript)アプリケーションと同じパスワードハッシュを共有するiOSアプリを構築しています。
非常に単純なJavaコード( http://www.mindrot.org/projects/jBCrypt/)を読んで、iOS開発に適したObjective-Cコードに変換できる場所ではありません。
ただし、Rubyの実装(https://github.com/codahale/bcrypt-ruby)があり、Rubyを使用してiOSアプリケーションを構築できると聞いています。次に、Rubyコードを静的ライブラリにロールアップしてiOSプロジェクトにリンクできますか?または、Monoを使用し、.NET実装(クリーンで純粋なコード、依存関係のないプロジェクト)を利用して静的ライブラリを構築しますか?
または、最後に、bCryptコードのObjective-C実装を知っている人はいますか?簡単そうに見えますが、.NET / C#/Rubyについて自分で翻訳するのに十分な知識がありません。