View Full Version : سوال: گرفتن پسورد به صورت ستاره از کاربر در محیط کنسول
Ahmad-Agha
یک شنبه 25 آبان 1393, 11:23 صبح
با سلام
من میخوام در محیط کنسول از کاربر پسورد دریافت کنم ؟ ؟ ؟
لطفا اگه میشه بگید که در محیط کنسول چه جوری میشه که کاربر هر کاراکتری که وارد میکنه خود کنسول اون کاراکتر رو به ستاره تبدیل کنه ؟
ممنون میشم !
rasoolf
یک شنبه 25 آبان 1393, 11:33 صبح
using System.Security;
public static SecureString getPassword()
{
SecureString pwd = new SecureString();
while (true)
{
ConsoleKeyInfo i = Console.ReadKey(true);
if (i.Key == ConsoleKey.Enter)
{
break;
}
else if (i.Key == ConsoleKey.Backspace)
{
if (pwd.Length > 0)
{
pwd.RemoveAt(pwd.Length - 1);
Console.Write("\b \b");
}
}
else
{
pwd.AppendChar(i.KeyChar);
Console.Write("*");
}
}
return pwd;
}
Ahmad-Agha
یک شنبه 25 آبان 1393, 11:51 صبح
سلام rasoolf
وقتی برنامه رو اجرا میکنم میاد با سریع قطع میشه ؟
Ahmad-Agha
یک شنبه 25 آبان 1393, 12:06 عصر
لطفا اگه میشه بیشتر راهنمایی کنید !!!:ناراحت:
rasoolf
یک شنبه 25 آبان 1393, 12:07 عصر
کل کدهای داخل برنامه را پاک کنید و این کد را داخل برنامه کپی کنید و اجرا کنید
using System;
using System.Security;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
getPassword();
}
public static SecureString getPassword()
{
SecureString pwd = new SecureString();
while (true)
{
ConsoleKeyInfo i = Console.ReadKey(true);
if (i.Key == ConsoleKey.Enter)
{
break;
}
else if (i.Key == ConsoleKey.Backspace)
{
if (pwd.Length > 0)
{
pwd.RemoveAt(pwd.Length - 1);
Console.Write("\b \b");
}
}
else
{
pwd.AppendChar(i.KeyChar);
Console.Write("*");
}
}
return pwd;
}
}
}
Ahmad-Agha
یک شنبه 25 آبان 1393, 12:11 عصر
ممنون:لبخندساده:
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.