直接上代码,C# 8.0以上可以直接用
// 密码输入时隐藏
static string ReadPassword()
{
string password = "";//密码明文
ConsoleKeyInfo key;//当前按键
//只要没按enter就一直死循环读取
while ((key = Console.ReadKey(true)).Key != ConsoleKey.Enter)
{
//用户按下退格键,并且当前有输入
if (key.Key == ConsoleKey.Backspace && password.Length > 0)
{
password = password[..^1];//移除最后一个字符
Console.Write("\b \b");//先退一格,写空格覆盖,再退回光标
}
//如果输入的是正常字符
else if (!char.IsControl(key.KeyChar))
{
password += key.KeyChar;//拼接明文
Console.Write("*");//拼上一个*
}
}
Console.WriteLine();
return password;
}使用:
Console.Write("请输入 p12 密码: ");
string password = ReadPassword();
微信扫码查看本文
发表评论