Java CMD Eingabe verbergen

RegenSonne

Aktives Mitglied
Hallo, ich möchte mit dem Scanner ein Login machen, allerdings sollte man in der cmd nicht das pw und den username sehen, wenn ich mich einlogge.

Java:
 String username, password;
 
 public LoginEingabe(){
  System.out.println("Bitte logge dich zuerst ein!");
  
  System.out.println("Username: ");
  Scanner input = new Scanner(System.in);
  username = input.next();
  System.out.println("Passord: ");
  password = input.next();
  if(username.equalsIgnoreCase("CMDTool") &&  password.equalsIgnoreCase("AhduSI!n")){
   new CMDAusgabe();
  }
  
 }


lg und vielen dank ^^
 
Wenn du es wirklich mittels CMD realisieren willst lautet die Antwort: Geht nicht. (Workaround wäre jeden Buchstaben den du tippst mit einem Stern zu ersetzen und den eigentlich getippten Buchstaben zu speichern, Aber das bringt auch eher ein unebfriedigendes Ergebnis da die Zeichen für eine gewisse Zeit dennoch sichtbar sind).

Mit einer GUI wäre es, wie Klaus schon vorgeschlagen hat, möglich.
 
Man könnte es unter Umständen so versuchen:

Java:
import java.io.Console;

public class ConsoleTest {

   public static void main(String[] args) {
       Console console = System.console();
       if (console != null) {
           char[] password = console.readPassword("Password: ");
           System.out.println(String.copyValueOf(password));
       }
   }
}
Wenn man es innerhalb von Eclipse ausführt, liefert System.console() allerdings null zurück, so daß es dann nicht wie gewünscht funktioniert. Ich weiß nicht, ob das Problem bei anderen IDEs auch auftritt. Die mit Eclipse exportierte jar funktioniert aber.
 

Zurück
Oben