2017-06-27 7 views
0

私はLaravelアプリケーションで作成した特注のAPIを使用してユーザーを作成したい外部サービスを持っています。Laravel Password Hashing

プレーンテキストでパスワードを送信するリモートエンドではなく、リモートエンドでパスワードを最初にハッシュしたいと思っていますが、ハッシングの使用方法は不明です。

リモートエンドは、ASP.NETを使用して作業を少し複雑にしています。

私はLaravelがCRYPT_BLOWFISHを使用していると推測しています。これは、サーバーで利用できる最も強力なものですが、塩の仕組みがわからないためです。誰も助言することができますか?

+0

は、なぜあなたはどのように塩の作品を知っておく必要がありますか? – manix

+0

リモートエンドがASP.netを使用してアプリケーションで複製できるように – user3305256

+1

クライアントがパスワードをハッシュし、攻撃者が取得した場合、そのパスワードがパスワードになります。必須:["Schneier's Law"](https://www.schneier.com/blog/archives/2011/04/schneiers_law.html):最も無礼なアマチュアから最高の暗号技術者まで誰でも、自分自身を破ることはできません。 – zaph

答えて

0

http://php.net/manual/en/function.crypt.php

CRYPT_BLOWFISH - 塩とフグハッシュ次のように "$ 2aは$" を、 "$ 2X $" または "$ 2yとの$"、2桁のコストパラメータ、 "$"、およびアルファベット「./0-9A-Za-z」から22文字。この範囲外の文字をsaltで使用すると、crypt()は長さゼロの文字列を返します。 2桁のコストパラメータは、基礎となるBlowfishベースのハッシングアルゴリズムの繰り返し回数のベース2の対数であり、範囲が04-31である必要があります。この範囲外の値は、crypt()を失敗させます。 PHP 5.3.7以前のバージョンでは、salt接頭辞として "$ 2a $"のみがサポートされていました。PHP 5.3.7では、Blowfishの実装におけるセキュリティの弱点を修正するための新しい接頭辞が導入されました。セキュリティ修正の詳細については»このドキュメントを参照してください。しかし、PHP 5.3.7以降のみを対象としている開発者は、「$ 2a $」よりも「$ 2y $」を使用する必要があります。 Laravelから

例ハッシュ:

$2y$10$RXyfF5/5qdBeGbwKgU5NR.p1OcgT5t3N.M5ql5PHm.UoxYGOogDWi 
  • 2Y =フグ接頭
  • 10 =コストパラメータ
  • RXyfF5/5qdBeGbwKgU5NR。 = 22文字塩
  • p1OcgT5t3N.M5ql5PHm.UoxYGOogDWi = bcryptのハッシュ