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
