I tried the following code…
string pass = "";
Console.Write("Enter your password: ");
ConsoleKeyInfo key;
do
{
key = Console.ReadKey(true);
// Backspace Should Not Work
if (key.Key != ConsoleKey.Backspace)
{
pass += key.KeyChar;
Console.Write("*");
}
else
{
Console.Write("\b");
}
}
// Stops Receving Keys Once Enter is Pressed
while (key.Key != ConsoleKey.Enter);
Console.WriteLine();
Console.WriteLine("The Password You entered is : " + pass);
But this way the backspace functionality doesn’t work while typing the password.
Any suggestion?
Console.Write("\b \b");will delete the asterisk character from the screen, but you do not have any code within yourelseblock that removes the previously entered character from yourpassstring variable.Here’s the relevant working code that should do what you require: