- ベストアンサー
コマンドプロンプトでパスワード入力をするには?
タイトルの通り、コマンドプロンプトでパスワード入力をさせるプログラムを作りたいのですが、一般的に入力時に使用されているInputStreamReaderやBufferedReaderを組み合わせた方法では入力した文字がそのまま出力されてしまいますのでパスワードとして問題がありますよね。そこで、どのような文字を入力しても「アスタリスク(*)を出力する」あるいは「何も出力しない」ようにする方法を調べているのですがなかなかうまくいきません。これを実現するにはどのようにすればよいのでしょうか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
標準のJavaAPIのみでは出来ません。 JNIや外部コマンド使って実装するなりしなければなりません。
その他の回答 (1)
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
回答No.2
調べてみたのですが、 System.out System.err をcloseすれば、入力文字が出力されなくなりますが、 一度クローズした標準出力と標準エラー出力を再度オープンすることができません。 ファイルディスクリプタクラスを(継承もできないし)改造すればできるのかもしれませんが、掟破りですね。
質問者
お礼
ご回答ありがとうございました。 >一度クローズした標準出力と標準エラー出力を再度オープンすることができません。 試したみましたが、確かにこれでは何もできないので意味がないですね。難しいところです。
お礼
ご回答ありがとうございました。 なかなか、一筋縄ではいかないようですね・・・