从控制台读取password - C#

Tip :    从控制台读取password

语言: C#

______________________________________________________________

在登陆Linux系统的时候,体验过在Linux的shell命令行窗体中输入用户password吗? 以下体验下在Windows控制台中输入password的方式

Showing  Effect

SourceCode

        /// <summary>
        /// Read password from console
        /// </summary>
        /// <returns>password</returns>
        public static string ReadPassword()
        {
            char[] revisekeys = new char[3];
            revisekeys[0] = (char)0x08;
            revisekeys[1] = (char)0x20;
            revisekeys[2] = (char)0x08;

            StringBuilder sb = new StringBuilder();
            while (true)
            {
                ConsoleKeyInfo kinfo = Console.ReadKey(true);

                if (kinfo.Key == ConsoleKey.Enter)
                {
                    break;
                }

                if (kinfo.Key == ConsoleKey.Backspace)
                {
                    if (sb.Length != 0)
                    {
                        int rIndex = sb.Length-1;
                        sb.Remove(rIndex, 1);
                        Console.Write(revisekeys);
                    }
                    continue;
                }
                sb.Append(Convert.ToString(kinfo.KeyChar));
                Console.Write("*");
            }
            return sb.ToString();
        }

版权声明:本文博主原创文章,博客,未经同意不得转载。

时间: 2025-01-16 18:51:25

从控制台读取password - C#的相关文章

C# 版本的冒泡排序,包括该死的控制台读取

期末出成绩了,绩点被数分拉下来太多,虽然我很想不在意,但是还是受不了 学了两天的JAVA了,无爱,还是喜欢C#,喜欢VS 一直学一下控制台读取来着,但是C#控制台读取真的很麻烦 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace arraytest { class Program { static

C语言之控制台读取上下左右方向键指令

首先,可以检测任何按键键值 // 首先,检测任何按键的代码 #include<stdio.h> #include<conio.h> int main() { char ch; while((ch=getch())!=0x1B) /* ESC to quit */ { printf("%d \n", ch); } } 分别是上下左右键的键值. 其次,控制台读取方向键指令 方法一 //捕捉键值 #include<stdio.h> #include<

C#从控制台读取数据源码片段

把做工程过程中比较常用的内容做个记录,如下资料是关于C#从控制台读取数据片段的代码,应该能对码农有一些用途.using System;class TestReadConsole{public static void Main(){Console.Write(Enter your name:);string strName = Console.ReadLine();Console.WriteLine( Hi + strName);}} 原文地址:http://blog.51cto.com/1413

PAT—优化Java从控制台读取信息的速度

PAT对Scanner类很不友好,会花费大量时间,导致运行时间超时.可采用下列代码优化时间 BufferedReader bf = new BufferedReader(new InputStreamReader(System.in)); 原文地址:https://www.cnblogs.com/tenghaoxiang/p/9912265.html

JavaStep --- 3. 读取输入

在Java中,向控制台输出内容很容易,只要通过如下语句就可以在控制台输出内容 System.out.println("This is test text!"); 如果要想在控制台获取输入,在Java中,必须先创建一个Scanner(JDK >= 1.5)对象,并将之与标准输入流相关联 Scanner  in = new Scanner(System.in); String name = in.nextLine(); 注意:Scanner不止有nextLine方法,还有next.n

3.7.1 读取输入

前面已经看到,打印输出到"标准输出流"(即控制台窗口)是一件废话从那个容易的事情,只要调用System.out.println即可.然而,读取"标准输入"System.in就没那么简单了.要想通过控制台进行输入,首先需要构造一个Scanner对象,并与"标准输入流"System.in关联. Scanner in= new Scanner(System.in); 现在,就可以使用Scanner类的各种方法实现输入操作了.例如,nextLine方法将

java控制台输入Scanner、InputStreamReader、Console说明

java控制台输入 (2009-12-08 11:13:28) 转载▼ 标签: 杂谈 分类: corejava 0 引言从控制台中读取数据是一个比较常用的功能,在 JDK 5.0 以前的版本中的实现是比较复杂的,需要手工处理系统的输入流.有意思的是,从 JDK 5.0 版本开始,能从控制台中输入数据的方法每增加一个版本号,就有一种新增的方法,这也增加了选择的种类,可以依据不同的要求来进行选择.下面来看一下,各个版本中如何从控制台中读取数据以及各自的优缺点. 1 JDK 1.4 及以下版本读取的方

文件读取输入

在编程的过程中,文件的操作是一个经常用到的问题,在C++Builder中,可以使用多种方法对文件操作,下面我就按以下几个部分对此作详细介绍,就是:1.基于C的文件操作: 2.基于C++的文件操作: 3.基于WINAPI的文件操作: 4.基于BCB库的文件操作: 5.特殊文件的操作. 壹.基于C的文件操作 在ANSI C中,对文件的操作分为两种方式,即流式文件操作和I/O文件操作,下面就分别介绍之. 一.流式文件操作 这种方式的文件操作有一个重要的结构FILE,FILE在stdio.h中定义如下:

java从控制台接收一个数字

//时间:2017/7/22//作者:江骆//功能:从控制台接收一个数import java.io.*;  //引入一个IO流的包public class helloworld1{    public static void main(String args[])    {            try{            //输入流,从键盘接收数            InputStreamReader isr=new InputStreamReader(System.in);