MakeReadOnly, RemoveAt : SecureString : Security C# Source Code


Custom Search

C# Source Code » Security » SecureString »

 

MakeReadOnly, RemoveAt








    
 


using System;
using System.Security;
using System.Diagnostics;

class MainClass {
    public static SecureString ReadString() {
        SecureString str = new SecureString();
        ConsoleKeyInfo nextChar = Console.ReadKey(true);
        while (nextChar.Key != ConsoleKey.Enter) {
            if (nextChar.Key == ConsoleKey.Backspace) {
                if (str.Length > 0) {
                    str.RemoveAt(str.Length - 1);
                    Console.Write(nextChar.KeyChar+" " +nextChar.KeyChar);
                } else {
                    Console.Beep();
                }
            } else {
                str.AppendChar(nextChar.KeyChar);
                Console.Write("*");
            }

            nextChar = Console.ReadKey(true);
        }
        str.MakeReadOnly();
        return str;
    }

    public static void Main() {
        string user = "user1";
        Console.Write("Enter the user's password: ");
        using (SecureString pword = ReadString()) {
            ProcessStartInfo startInfo = new ProcessStartInfo();
            startInfo.FileName = "notepad.exe";
            startInfo.UserName = user;
            startInfo.Password = pword;
            startInfo.UseShellExecute = false;
            using (Process process = new Process()) {
                process.StartInfo = startInfo;
                try {
                    process.Start();
                } catch (Exception ex) {
                    Console.WriteLine("\n\nCould not start Notepad process.");
                    Console.WriteLine(ex);
                }
            }
        }
    }
}

 
    
   
  
   







HTML code for linking to this page:

Follow Navioo On Twitter

C# Source Code

 Navioo Security
» SecureString