プログラミング作法について教えて下さい.
独学で勉強中なのですが,cronで定期的にwebサービス等にログインしてゴニョゴニョしたいのですが,プログラムコードの中にアカウントのパスワード等ハードコードをするのは気が引けます.
皆様はどういった方法で処理しているのでしょうか?お教え下さい.
プログラム起動時に設定ファイルを読み込むようにして、その設定ファイルの中にパスワードやAPI keyを書けるようにする、ということを良くやります。ソース自体はgithubなど公開の場に出すことも多いので。公開ソースにはダミーのサンプル設定ファイルを含めておいて、自分が実際に使うものはローカルで自分だけが読めるようにして管理しておきます。
設定ファイルが取られたらパスワードが漏れちゃいますが、そもそも自分の手元だけにあるはずの設定ファイルが読み取られる状況ならsshの秘密鍵だって取られちゃう状況なので気にしても意味がないでしょう。
暗号化してプログラム内に書いておくというのは疑問です。外部サービスにログインするためのパスワードならプログラム内で復号してるわけですから、プログラムソースを手にした人は誰でも簡単に元のパスワードに戻せます。ソースを絶対に外に出さない、という自信があるなら平文で書いておいても一緒です。
MD5とか,ハッシュ関数で暗号化してコーディングすればOKです。
手軽に実現したいのであれば,暗号化されたパスワードをソースコード中に埋め込む場合もあります(PHPのPukiWikiみたいに)
たくさんのパスワードを格納する場合は,暗号化したパスワードをデータベース中に保管しておいて,DBに接続しないかぎりパスワードが見えないように工夫します。