私はデータベースを作成しており、ユーザーパスワードを保存する必要があります。私はすでにクライアント側でパスワードをハッシュするためにbcryptを使用していますが、クライアント側でハッシュするだけで、ハッシュはデータベースに関する限り基本的にパスワードと同等になります。私はデータベースに格納される前にパスワードをハッシュしたいと思います。 SHA2(pwd)
のようなMySQL固有のメソッドを使用する必要がありますか、またはサーバー上でbcryptを使用する方法がありますか?MySQL-サーバー側のパスワードハッシングを実装する方法
0
A
答えて
0
ここではBcyrptが役に立ちますが、クライアントではなくサーバー側でハッシングを実行する必要があります。クライアントは、正しいことが確認できるハッシュを生成するために必要なすべての情報を知ることはできません。サーバだけがその情報を持っています。
必要な作業は、HTTPSなどでパスワードを安全に通過させ、アプリケーションレイヤーにハッシュすることです。 MySQLだけでは、適切なパスワードハッシュを実行するのに必要な機能はありません。 SHA2は完全に不十分です。設計上高速ハッシュであり、すぐに不適切になります。パスワードハッシングアルゴリズムは、ブルートフォースパスワードを痛々しく高価にするのに意図的に遅いです。
関連する問題
- 1. データテーブルにサーバー側の並べ替えを実装する方法
- 2. サーバー側でfirebaseクラウドメッセージングを実装する方法は?
- 3. Pushnotificationサーバー側の実装
- 4. CORS Javaサーバー側実装
- 5. NodeJSのWeb Socketsサーバー側の実装
- 6. 2-leggedサーバー側でnode.jsのoauth実装
- 7. mp4擬似ストリーミング実装サーバーとiOS側
- 8. iOS(サーバー側)のプッシュ通知を実装する
- 9. MVC - フォームの検証を実装する場所(サーバー側)?
- 10. javaシリアル化|サーバー側でドメインオブジェクトの実装を変更する
- 11. サーバー側でPHPスクリプトの実行をスケジュールする方法は?
- 12. J2MEでサーバー側のPHPファイルを実行する方法
- 13. クライアント側の剣道UIグリッドでサーバー側のページングを実装しますか?
- 14. CacheStoreの実装でサーバー側でClassNotFoundExceptionがスローされる
- 15. Tomcatサーバーを使用してサーバー側でC++コードを実行する方法は?
- 16. vb/aspxシングルページモデル:フォームデータを別のページにポストしながらサーバー側のキャプチャを実装する方法は?
- 17. Java(Android)で「サーバー」クラスを実装する最善の方法
- 18. サーバーにデータを送信するための実装方法
- 19. クライアント側とサーバー側の検証を適用する方法
- 20. Meteorで制限を適用してサーバー側のページ付けを実装する方法
- 21. angle-uiブートストラップを使用してangularjsでサーバー側のページ付けを実装する方法。
- 22. サーバーからロードされた静的オプションのクライアント側のフィルタリングを実装する方法は?
- 23. データベース側の彗星を実装する
- 24. 簡単なAndroid OAuthとサーバーAPIを実装する方法
- 25. シングルサインオン認証サーバーを実装する方法は?
- 26. node.jsサーバーで-toDataURL()関数を実装する方法は?
- 27. Java EE - サーバー上で実装を指定する方法
- 28. CherryPyでOAuth2サーバーを実装する方法は?
- 29. PythonでLiveReloaded開発Webサーバーを実装する方法
- 30. mysqlの行制約を実装する方法
私はMITM攻撃からの保護のための良い習慣であると読んだので、私はクライアント上でハッシュしています。しかし、私の実際の質問はまさにあなたが言っていることです。サーバー側でbcryptを実装するにはどうすればよいですか?私は可能な限りSHA2を避けたいと思います。 – silvertiger
私はあなたがそれをどこで読んでいるのか、それとも正しく読んでいるのか分かりません。私がクライアントサイドのハッシュを見たのは、チャレンジ・レスポンス・タイプのシステムであり、SSL/TLSがそれを無意味にしてしまったため、そのほとんどが死んでしまった。チャネル自体を保護することができる。 Hash * once *、正しく、あなたは大丈夫でしょう。 bcrypt、scrypt、または他のパスワード特有のハッシュアルゴリズム、特に調節可能な難易度のアルゴリズムは、ここで重要です。 – tadman
MySQLはbcryptを実行することはできません。通常は、アプリケーション層にパスワードをハッシュする場合があります。それはJava、Python、Ruby、Node.js、PHPでもかまいません。事実上すべての人がbcryptを実装しています。 MySQLは、多くのRDBMsesと同様、単なるデータストアです。 – tadman