Konsol Uygulamasında Yazılanı Maskeleme | C#

Merhaba, bir konsol uygulamasında kullanıcıdan şifre almam gerekiyordu.
Bunun da kabak gibi görünmesini istemedim.
Biraz araştırma sonucunda aşağıdaki çözme ulaştım:

Console.WriteLine("Lütfen şifrenizi yazınız : ");
SecureString ss = new SecureString();
ConsoleKeyInfo key;
do
{
key = Console.ReadKey(true);
if (!char.IsControl(key.KeyChar))
{
ss.AppendChar(key.KeyChar);
Console.Write("*");
}
else
{
if (key.Key == ConsoleKey.Backspace && ss.Length > 0)
{
ss.RemoveAt(ss.Length - 1);
Console.Write("\b \b");
}
}
}
while (key.Key != ConsoleKey.Enter);

IntPtr bstr = Marshal.SecureStringToBSTR(ss);
string sifre = "";
try
{
sifre = Marshal.PtrToStringBSTR(bstr);
}
finally
{
Marshal.FreeBSTR(bstr);
}

Selamlar.

Leave a Reply

Your email address will not be published.