C# :: Aufgabe #138 :: Lösung #1
6 Lösungen

#138
Console - ReadPassword Methode
Anfänger - C#
von DrizZle
- 15.06.2016 um 13:48 Uhr
Ihr kennt sicherlich die Einstellung für die TextBox in der Windows Form in der man den User Input sofort in ein belibigen Password Char umwandeln kann (in der Regel '*'). Diese Möglichkeit hat man in der Console nicht. Die Aufgabe besteht darin jeden Tastaturschlag des Users abzufangen und in ein '*' umzuwandeln und auszugeben. Sprich ihr erstellt eure eigene Read Methode. Das Passwort soll später trotz allem als Text ausgegeben werden können.
Vorlage:
C#-Code
Vorlage:

class ReadPass { static void main(string[] args) { Console.Write("Passwort: "); string password = ReadPassword(); } string ReadPassword() { ... } }
#1

von daniel59 (4260 Punkte)
- 21.07.2016 um 15:42 Uhr

using System; namespace ConsoleReadPassword { class Program { static void Main(string[] args) { string write = "Passwort: "; Console.Write(write); string password = ReadPassword(write); Console.WriteLine(password); Console.ReadLine(); } static string ReadPassword(string lineBegin = "", char passwordChar = '*') { string line = null; while (true) { ConsoleKeyInfo key = Console.ReadKey(); if (key.KeyChar == '\r' || key.KeyChar == '\n') { Console.WriteLine(); return line; } else if (key.KeyChar == '\b') { if (line.Length > 0) { line = line.Substring(0, line.Length - 1); Console.Write('\0'); } } else if (key.KeyChar != '\0') { line += key.KeyChar; } Console.Write('\r'); Console.Write(lineBegin); Console.Write(new string(passwordChar, line.Length)); } } } }
Kommentare:
Für diese Lösung gibt es noch keinen Kommentar
Seite 1 von 0
1