- ベストアンサー
ファイル上のパスワードの暗号化
WebでMySQLに接続するとき $hostname = "localhost"; $database = "mydb"; $username = "myname"; $password = "mypass"; などとファイルに書いて接続しますが、 $password = "mypass"; のmypassの部分を暗号化する方法はないでしょうか? MySQL側ではパスワードは暗号化されていますが その文字列をそのままいれて $password = "6f8c114b58f2ce9e"; としても当然ですが接続できませんでした。 宜しくお願いします。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
mypassをプログラムで暗号化することは可能です。ただし、そうすると、その暗号化に使う鍵をどう管理するのか?という問題になり、どうどうめぐりです。とはいえ、暗号化しておくと、攻撃者がMySQLのパスワードを知るためにはちょっとした手間が必要なので、多少の時間稼ぎにはなります。 他にも、バイナリ化など色々な方法がありますが、基本的には上記と同じで、多少の時間稼ぎの効果しかありません。なので、この手のパスワードの隠蔽に力を入れるよりも、それ以前の基本的な安全対策に力を注いだ方がよいと思います。
お礼
暗号化した状態で保存しておいて、データベースに接続するたびにプログラムで復号化はできそうですね。 でもあまりそうする事例を聞かないのはおっしゃる理由からなのですね。 有り難うございました。