输入密码时隐藏/替换 (C#)

2024-02-17

好的,我是 C# 新手,但已经学到了一些东西。但我有一个问题,如何用“*”替换在控制台中输入的字符或完全隐藏它们?

        var pw = "eric123";
        Console.WriteLine("Password: ");
        var value = Console.ReadLine();
        if (value == pw)
        {
            Console.WriteLine("Permitted, Play online? (Y/N)?");
            var getGameOnlineStatus = Console.ReadLine();

            //Rest Of the Code is just for me :)

任何帮助,将不胜感激!


找到了here http://rajeshbailwal.blogspot.com/2012/03/password-in-c-console-application.html

C# 控制台应用程序中的密码屏蔽

class PasswordExample
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Pls key in your Login ID");
            var loginid = Console.ReadLine();
            Console.WriteLine("Pls key in your Password");
            var password = ReadPassword();
            Console.Write("Your Password is:" + password);
            Console.ReadLine();
        }


     public static string ReadPassword()
        {
            string password = "";
            ConsoleKeyInfo info = Console.ReadKey(true);
            while (info.Key != ConsoleKey.Enter)
            {
                if (info.Key != ConsoleKey.Backspace)
                {
                    Console.Write("*");
                    password += info.KeyChar;
                }
                else if (info.Key == ConsoleKey.Backspace)
                {
                    if (!string.IsNullOrEmpty(password))
                    {
                        // remove one character from the list of password characters
                        password = password.Substring(0, password.Length - 1);
                        // get the location of the cursor
                        int pos = Console.CursorLeft;
                        // move the cursor to the left by one character
                        Console.SetCursorPosition(pos - 1, Console.CursorTop);
                        // replace it with space
                        Console.Write(" ");
                        // move the cursor to the left by one character again
                        Console.SetCursorPosition(pos - 1, Console.CursorTop);
                    }
                }
                info = Console.ReadKey(true);
            }
            // add a new line because user pressed enter at the end of their password
            Console.WriteLine();
            return password;
        }
    }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

输入密码时隐藏/替换 (C#) 的相关文章

  • 无法使用 strptime() 获取秒数

    我收到 YYYY MM DDThh mm ss S Z hh mm 这种格式的日期时间 我正在尝试使用复制该值strptime如下所示 struct tm time 0 char pEnd strptime datetime Y m dT
  • ROWNUM 的 OracleType 是什么

    我试图参数化所有现有的 sql 但以下代码给了我一个问题 command CommandText String Format SELECT FROM 0 WHERE ROWNUM lt maxRecords command CommandT
  • 创建 DirectoryEntry 实例以供测试使用

    我正在尝试创建 DirectoryEntry 的实例 以便可以使用它来测试将传递 DirectoryEntry 的一些代码 然而 尽管进行了很多尝试 我还是找不到实例化 DE 并初始化它的 PropertyCollection 的方法 我有
  • Signalr 在生产服务器中总是陷入长轮询

    当我在服务器中托管应用程序时 它会检查服务器端事件并始终回退到长轮询 服务器托管环境为Windows Server 2012 R1和IIS 7 5 无论如何 我们是否可以解决这个问题 https cloud githubuserconten
  • Func 方法参数的首选命名约定是什么?

    我承认这个问题是主观的 但我对社区的观点感兴趣 我有一个缓存类 它采用类型的缓存加载器函数Func
  • 嵌入式系统中的malloc [重复]

    这个问题在这里已经有答案了 我正在使用嵌入式系统 该应用程序在 AT91SAMxxxx 和 cortex m3 lpc17xxx 上运行 我正在研究动态内存分配 因为它会极大地改变应用程序的外观 并给我更多的力量 我认为我唯一真正的路线是为
  • 为什么禁止在 constexpr 函数中使用 goto?

    C 14 对你能做什么和不能做什么有规则constexpr功能 其中一些 没有asm 没有静态变量 看起来相当合理 但标准也不允许goto in constexpr功能 即使它允许其他控制流机制 这种区别背后的原因是什么 我以为我们已经过去
  • 将字符串从非托管代码传递到托管

    我在将字符串从非托管代码传递到托管代码时遇到问题 在我的非托管类中 非托管类 cpp 我有一个来自托管代码的函数指针 TESTCALLBACK FUNCTION testCbFunc TESTCALLBACK FUNCTION 接受一个字符
  • 使用 Google Analytics API 在 C# 中显示信息

    我一整天都在寻找一个好的解决方案 但谷歌发展得太快了 我找不到有效的解决方案 我想做的是 我有一个 Web 应用程序 它有一个管理部分 用户需要登录才能查看信息 在本节中 我想显示来自 GA 的一些数据 例如某些特定网址的综合浏览量 因为我
  • 当 Cortex-M3 出现硬故障时如何保留堆栈跟踪?

    使用以下设置 基于 Cortex M3 的 C gcc arm 交叉工具链 https launchpad net gcc arm embedded 使用 C 和 C FreeRtos 7 5 3 日食月神 Segger Jlink 与 J
  • .Net Core / 控制台应用程序 / 配置 / XML

    我第一次尝试使用新的 ConfigurationBuilder 和选项模式进入 Net Core 库 这里有很多很好的例子 https docs asp net en latest fundamentals configuration ht
  • 使用安全函数在 C 中将字符串添加到字符串

    我想将文件名复制到字符串并附加 cpt 但我无法使用安全函数 strcat s 来做到这一点 错误 字符串不是空终止的 我确实设置了 0 如何使用安全函数修复此问题 size strlen locatie size nieuw char m
  • 编译的表达式树会泄漏吗?

    根据我的理解 JIT 代码在程序运行时永远不会从内存中释放 这是否意味着重复调用 Compile 表达式树上会泄漏内存吗 这意味着仅在静态构造函数中编译表达式树或以其他方式缓存它们 这可能不那么简单 正确的 他们可能是GCed Lambda
  • 线程、进程和 Application.Exit()

    我的应用程序由主消息循环 GUI 和线程 Task Factory 组成 在线程中我调用一些第三方应用程序var p new Process 但是当我调用Application Exit 在消息循环中 我可以看到在线程中启动的进程仍在内存中
  • 更改窗口的内容 (WPF)

    我创建了一个简单的 WPF 应用程序 它有两个 Windows 用户在第一个窗口中填写一些信息 然后单击 确定 这会将他们带到第二个窗口 这工作正常 但我试图将两个窗口合并到一个窗口中 这样只是内容发生了变化 我设法找到了这个更改窗口内容时
  • C 中的位移位

    如果与有符号整数对应的位模式右移 则 1 vacant bit will be filled by the sign bit 2 vacant bit will be filled by 0 3 The outcome is impleme
  • AccessViolationException 未处理

    我正在尝试使用史蒂夫 桑德森的博客文章 http blog stevensanderson com 2010 01 28 editing a variable length list aspnet mvc 2 style 为了在我的 ASP
  • 在 URL 中发送之前对特殊字符进行百分比编码

    我需要传递特殊字符 如 等 Facebook Twitter 和此类社交网站的 URL 为此 我将这些字符替换为 URL 转义码 return valToEncode Replace 21 Replace 23 Replace 24 Rep
  • 如何使用 ReactiveList 以便在添加新项目时更新 UI

    我正在创建一个带有列表的 Xamarin Forms 应用程序 itemSource 是一个reactiveList 但是 向列表添加新项目不会更新 UI 这样做的正确方法是什么 列表定义 listView new ListView var
  • 更改显示的 DPI 缩放大小使 Qt 应用程序的字体大小渲染得更大

    我使用 Qt 创建了一些 GUI 应用程序 我的 GUI 应用程序包含按钮和单选按钮等控件 当我运行应用程序时 按钮内的按钮和字体看起来正常 当我将显示器的 DPI 缩放大小从 100 更改为 150 或 200 时 无论分辨率如何 控件的

随机推荐

  • 在Python中创建处于挂起状态的子进程

    我可以在 Python 中创建一个子进程并像这样挂起它 proc subprocess pOpen binary arg1 arg2 Subprocess was created in a running state proc handle
  • 强制 UIWebView 重绘?

    是否有任何技术可以使 UIWebView 重绘自身 我试过了setNeedsDisplay and setNeedsLayout在 UIWebView 及其 UIScrollView 上 但两者都不起作用 问完后果然找到了答案 关键是告诉子
  • 是否有用于逗号分隔的离散值列表的正则表达式?

    我使用以下正则表达式来验证逗号分隔的值列表 Dog Cat Bird Mouse Dog Cat Bird Mouse 这些值也会列在 Excel 单元格验证的下拉列表中 因此用户可以从下拉列表中选择单个值 或键入以逗号分隔的多个值 正则表
  • “不支持的模板依赖性:使用 SDK Tools v22 升级您的 Android Eclipse 插件”[重复]

    这个问题在这里已经有答案了 我最近将 Android SDK 工具升级到版本 22 但是每当我尝试在 Eclipse 中创建新项目时 都会收到一条错误消息 不支持的模板依赖项 升级您的 Android Eclipse 插件 我该如何解决这个
  • 未找到 ffprobe 或 avprobe。请安装一个

    我想向由 youtube dl 和 ffmpeg 转换的 mp3 添加标签 youtube dl o Output qpgTC9MDx1o mp3 qpgTC9MDx1o f bestaudio extract audio metadata
  • 手表是异步的吗?

    我观察一个变量radioStatus in a Vue实例 watch radioStatus function val if this discovery ajax url switch api radio val on off 它可以在
  • ' -A gnused 的等效 shell.nix 是什么' aria-label='nix-shell '' -A gnused 的等效 shell.nix 是什么'> nix-shell '' -A gnused 的等效 shell.nix 是什么

    我正在尝试探索 gnu sed 代码库 我可以从命令行执行此操作 nix shell
  • 添加联系人到 SIM 卡

    我正在尝试将联系人添加到 SIM 卡 它们似乎已添加到 SIM 卡 但只有在重新启动设备后才可见 即使是本机联系人应用程序 这是我正在使用的代码 final Uri uri Uri parse content icc adn Content
  • MySQL/SQLite/etc 数据库之间的区别?

    这是我第一次尝试使用数据库 所以请耐心等待 我需要编写一个程序来使用我还无法访问的数据库 我知道有 MySQL SQLite 和一堆其他 SQL 东西 但我不确定它们之间有什么区别 在使用它之前我是否需要知道它是什么类型的数据库 即 MyS
  • 使用 Swift 在 Xcode 中进行异步 UI 测试

    我正在编写一个发出大量网络请求的应用程序 像往常一样 他们是 async 即请求方法的调用立即返回并且结果 通过委托方法或在延迟一段时间后在闭包中传递 现在 在我的注册屏幕上 我向后端发送了一个注册请求 并且 想要验证请求完成时是否显示成功
  • Android:在列表视图周围绘制自定义边框?

    我有一个 ListActivity 其中有一个 ListView 我需要在边框周围绘制一个重复图像 在它的顶部 我猜是在渲染列表视图之后 我如何为此挂钩自己的绘图代码 您可以使用 FrameLayout 使 ListView 与填充整个屏幕
  • json 显示 mysql 结果的重复输出

    我正在尝试打印 json encode 并且输出重复 我确信数据库中有一条记录 但它以不同的格式两次显示相同的记录数据 就是这个 0 Polo name Polo 1 City location City 2 Manama city Man
  • Devise 在更改密码后注销用户

    我正在使用设备 当用户更改密码时 网站会将其注销 我在网上读到添加sign in可以解决问题 但不起作用 并且当密码更改时用户会被注销 这是我的代码 if user errors base empty and user update att
  • 如何在.NET 6 上的程序文件中使用启动类?

    我正在开发 ASP NET Core 2 2 Web 应用程序 将我的应用程序升级到 NET 6 时遇到一些问题 我的问题是没有startup NET 6 0 中的类 我发现program cs仅文件 我在网络应用程序中添加了启动类 但我不
  • 如何更改根视图控制器

    I want to change the rootViewController after the authenticationViewController IBAction LoginButtonPushed id sender if V
  • 在 SQLite 中启用外键约束

    我将 SQLite 与 C 结合使用 并定义了一些定义了外键的表 现在 我知道默认情况下 SQLite 中不强制执行外键约束 但我想将它们打开 是否可以通过代码来做到这一点 我查了相关的question https stackoverflo
  • Rust 中可以使用全局变量吗?

    我知道一般来说 应该避免使用全局变量 尽管如此 我认为从实际意义上来说 有时需要使用它们 在变量是程序不可或缺的情况下 为了学习 Rust 我目前正在使用 sqlite3 和 GitHub 上的 Rust sqlite3 包编写一个数据库测
  • ADB 驱动程序和 Windows 8.1

    我浪费了很多时间试图在 Windows 8 1 中为我的平板电脑成功安装 ADB 驱动程序 所以在这里我将发布我所做的 以防有人遇到同样的问题 UPDATE 发布图片 英文版 https ivanrf com en adb driver a
  • 实时服务器未加载 css 文件

    我有一个与我的 html 文件链接的 css 文件 通过实时服务器加载 html 文件时 我的 css 不起作用 直接通过浏览器打开html文件时 css工作正常 我的 css 文件位于 html 文件所在的目录之外 当我的 npm 脚本使
  • 输入密码时隐藏/替换 (C#)

    好的 我是 C 新手 但已经学到了一些东西 但我有一个问题 如何用 替换在控制台中输入的字符或完全隐藏它们 var pw eric123 Console WriteLine Password var value Console ReadLi