私はパスワードを暗号化する必要がある登録フォームに取り組んでいます.Blowfish暗号化をパスワードとして使用することをお勧めします。 crypt()関数?また、私はにログインするためのパスワードを後で取得する予定です。BlowfishをPHPで暗号化するために
答えて
短い答えは、塩が文字で始まるとcrypt
を使用している$ 2A $、はパラメータ、$の費用2桁、およびアルファベットの22桁./0-9A-Za-z。これは、Blowfish暗号化アルゴリズムをサポートするシステムでのみ機能します。しかし、PHP 5.3はそれをネイティブに実装しています。詳細はPHP manual — cryptを参照してください。
例:
crypt('rasmuslerdorf', '$2a$07$somesillystringforsalt')
塩列が適切なアルゴリズムをトリガします。 の2つの数字パラメータは、Blowfishベースのハッシュアルゴリズムの繰り返し数のベース2の対数であり、範囲[04 – 31]でなければなりません。例7では、2 または128回の反復を使用するようにアルゴリズムに指示します。この数値が高いほど、ユーザーパスワードをハッシュするコンテキストでは、BOOを実行するのに時間がかかります。つまり、GOODです。
This answer to a similar questionは、BCryptがどのようなものか、それがブローフィッシュとどのように関係しているか、そしてなぜそれを使用すべきかを詳しく説明しています。他にも多くのものがありますrelated topics here on Stack Overflow
phpassは’ sがサポートされている場合フグを使用して、そしてそれ’がないよ場合は他のアルゴリズムにフォールバック、すべてのシステム上で動作する優れた、使いやすいパスワードハッシュのフレームワークです。
このようにパスワードを暗号化するためにブローフィッシュを使用する必要はありません。登録フォームは、HTTPS経由でなければなりません。これは、攻撃者に対する防御をワイヤで処理します。パスワード自体はハッシュする必要があります(は暗号化されません)。 bcryptは、ブローフィッシュに基づいた優れたパスワードハッシュ関数です。しかし、SOに安全なパスワード記憶に関連したたくさんの投稿があります。
- 1. BlowfishアルゴリズムなしでBlowfishファイルを暗号化する
- 2. NodeJSのBlowfishで暗号化文字列
- 3. Blowfish ECB暗号化(C#実装)
- 4. OPENSSL Blowfish CBC暗号化はPHPとは異なります。
- 5. JavaでCBCモードでBlowfishを使用した暗号化
- 6. PHPでAES暗号化のためにPythonで復号化する方法
- 7. 暗号化PHPに
- 8. RubyでBlowfishを使用してPHPで暗号化されたパスワードを認証する
- 9. Blowfishを復号化したHSQLDB .scriptファイル
- 10. Blowfish暗号化の適用上の問題
- 11. PHPでA256GCMで暗号化されたJWTを復号する
- 12. PHP - パスワードセキュリティ[暗号化]
- 13. GWT + PHP暗号化
- 14. PHP - XOR暗号化
- 15. PHP暗号化アルゴリズム
- 16. ノード暗号化による暗号化 - PHP openssl_decryptでの復号化に失敗しました
- 17. PHPでURLを暗号化するCodeigniter
- 18. C#暗号化されたデータをJavascriptで暗号化する
- 19. php暗号化から暗号文を復号できない
- 20. BlowfishでPerlでパスワードを暗号化するにはどうしたらいいですか?
- 21. パスワードを暗号化するために使用される暗号
- 22. 暗号化PHP、復号化Java
- 23. PHP暗号化&復号化VB.net
- 24. PHPスイッチ:暗号化と復号化
- 25. フラッシュ暗号化PHP復号化
- 26. JavascriptでCrypto-jを使った暗号化、mcryptでPHPで復号化する?
- 27. JSPで暗号化、PHPで復号化する
- 28. Pythonでデータを復号化し、PHPで暗号化します
- 29. JSPでスティッキングを暗号化するPHPで復号する
- 30. 暗号化されたデータをURLに渡し、PHPで復号化します
[this](http://www.chilkatsoft.com/p/php_blowfish.asp)をご覧ください。 –
パスワードを「暗号化」するのではなく、一方向のハッシュ関数を使用する必要があります。参照:[PHPでパスワードをハッシュするためにbcryptをどのように使用しますか?](http://stackoverflow.com/q/4795385/911182) – Herbert
も読んでください:[ユーザーのパスワードを安全に保存するにはどうすればいいですか] /stackoverflow.com/questions/1581610/how-can-i-store-my-users-passwords-safely/1581919#1581919) – Jacco