• ベストアンサー

コマンドプロンプトでパスワード入力をするには?

タイトルの通り、コマンドプロンプトでパスワード入力をさせるプログラムを作りたいのですが、一般的に入力時に使用されているInputStreamReaderやBufferedReaderを組み合わせた方法では入力した文字がそのまま出力されてしまいますのでパスワードとして問題がありますよね。そこで、どのような文字を入力しても「アスタリスク(*)を出力する」あるいは「何も出力しない」ようにする方法を調べているのですがなかなかうまくいきません。これを実現するにはどのようにすればよいのでしょうか?

  • Java
  • 回答数2
  • ありがとう数7

質問者が選んだベストアンサー

  • ベストアンサー
  • Bonjin
  • ベストアンサー率43% (418/971)
回答No.1

標準のJavaAPIのみでは出来ません。 JNIや外部コマンド使って実装するなりしなければなりません。

progx200xi
質問者

お礼

ご回答ありがとうございました。 なかなか、一筋縄ではいかないようですね・・・

その他の回答 (1)

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.2

調べてみたのですが、 System.out System.err をcloseすれば、入力文字が出力されなくなりますが、 一度クローズした標準出力と標準エラー出力を再度オープンすることができません。 ファイルディスクリプタクラスを(継承もできないし)改造すればできるのかもしれませんが、掟破りですね。

progx200xi
質問者

お礼

ご回答ありがとうございました。 >一度クローズした標準出力と標準エラー出力を再度オープンすることができません。 試したみましたが、確かにこれでは何もできないので意味がないですね。難しいところです。

関連するQ&A

  • コマンドプロンプト(パスワード自動入力)

    コマンドプロンプトにてついて教えてください。 start /min "" "C:\Program Files\xxxxxxxxxxxxxxxxx\xxxxxxxxxxxxxxx.exe" 上記により、プログラムを自動起動するとIDとパスワードの入力画面が表示されます。 このIDとパスワードを自動で入力させるにはどうすればいいでしょうか?

  • コマンドプロンプトがすぐ消える

    共有フォルダに隠しファイル設定をして、コマンドプロンプトからパスワードを入力するのですが、他の共有パソコンではコマンドプロンプトがすぐに立ち上がって、すぐに消えてしまいます。 パスワード等が入力できません。 なにか設定があるのでしょうか?

  • コマンドプロンプトで文字入力がきかない

    コマンドプロンプトで文字入力がきかない コマンドプロンプトでの特定のコマンドの実行時に、文字入力がきかずに困っています。 通常の、例えばファイル名を指定して実行でcmdと叩いて、 pingを打ったりディレクトリ移動などは普通に出来ます。 ただし、現在実行しようとしているバッチファイルを起動するコマンドで、 パスワードの入力を求められる部分で、コマンドプロンプト上で文字入力がきかなくなるのです。 該当のウィンドウはアクティブになっており、カーソルも点滅しているのですが、 エンターキー以外、文字入力を受け付けてくれません。 ナムロックなどもかかっていないことを確認済み、再起動も何度か試しています。 他の人が(他のPC上)、同じコマンドを実行する際には特にそのような事はないようなので、 ローカル依存と思われますが、ハードウェア的には全く問題がないように思います。 このようなことはあるでしょうか? 解決方法についてご存知の方がいらっしゃいましたら教えて頂きたく、質問させて頂きました。 宜しくお願い致します。 PC環境 ・WindowsXP SP2 ・Lenovo ThinkPad X60 ・JRE1.6(JavaのRuntimeEngineを求められるバッチファイル起動のコマンドである為、念の為)

  • コマンドプロンプト

    お世話になります。 WindowsXPにて、『コンピューターの管理』→『イベントビューアー(セキュリティ)』→『一覧のエクスポート』をコマンドプロンプトで実現したいのですが、どのようにコマンドプロンプトを書けばよいかわかりません。どなたか教えていただけませんでしょうか? 出力形式はcsvファイルでの出力を考えています。 以上よろしくお願い致します。

  • コマンドプロンプト 入力値を格納したい

    作成したバッチファイルを起動し、パスワードを要求しますが、以降は要求せずに、最初にコマンドプロンプトで入力された値をセットして起きたいのですが、どうしたらよいか教えてください。ちなみに、コマンドプロンプトでパスワードを入力する際は、値は表示されないようにしたいです。

    • ベストアンサー
    • MySQL
  • コマンドプロンプトでのエスケープ文字

    標記の通り、コマンドプロンプト上での エスケープ文字は何を入力すればよいのかで 困っています。 具体的には net use コマンドを利用して共有リソースに 接続しようとしているのですが、 その際に、パスワードに空白文字やダブルクォーテーションが含まれている場合、パスワードを そのままコマンドプロンプト上に打っても 所望の動作になりません。 特殊文字(|&<>等)はエスケープするのだとは思うのですが どの文字でエスケープすればよいのかどうかを 探しだすことができませんでした。 (「ダブルクォーテーションでくくる」や「^」を 前につけるというのはあるのですが、これらを 組み合わせてもパスワードに「 "|<>&」等が含まれている場合には対応できませんでした) どなたかご存知の方、よろしくお願いします。

  • コマンドプロンプトとリダイレクトについて

    こんにちは。 1点教えて頂きたいことがございます。 OSはWindowsXpを利用しています。 コマンドプロンプトにて入力した文字を 「画面出力」&「ファイルに出力」させることは可能でしょうか? よろしくお願いします。

  • コマンドプロンプトの入力方法

    コマンドプロンプトの入力方法 ある参考書で「コマンドプロンプトの中でフルパスをキーボードから入力するかわりに、エクスプローラで表示したファイル名をドラッグ&ドロップしてもよい」とありました。 しかし、その通り実行しようとしても、ポインタがコマンドプロンプト窓に入ると「進入禁止マーク」のような表示が出てCOPYできません。どこが間違えているのでしょうか。

  • JAVAからコマンドプロンプトに文字を入力したいです(つ;)

    Javaのプログラムからコマンドプロンプトに文字を入力して(プログラムにアドレスを埋め込んでいても大丈夫です★),アプリケーションにアクセスして,そのアプリケーションから得る結果を再びJavaのプログラムに返すようなプログラムを書きたいのですが分からなくて困っています(つ;) 何かサンプルプログラムをお持ちの方いらっしゃいませんか??

  • コマンドプロンプトでコマンドが認識されません

    コマンドプロンプトへ種々のコマンドを入力すると、 全部下記のような文字がでてきます。 「”convert”は内部コマンドまたは外部コマンド、操作 可能なプログラムまたはバッチファイルとして認識されていません」 その後は、又入力待ち画面になります。 ご教示の程宜しくお願い致します。

専門家に質問してみよう