當前位置: 首頁>>代碼示例>>C#>>正文


C# SecureString.RemoveAt方法代碼示例

本文整理匯總了C#中System.Security.SecureString.RemoveAt方法的典型用法代碼示例。如果您正苦於以下問題:C# SecureString.RemoveAt方法的具體用法?C# SecureString.RemoveAt怎麽用?C# SecureString.RemoveAt使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在System.Security.SecureString的用法示例。


在下文中一共展示了SecureString.RemoveAt方法的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C#代碼示例。

示例1: Main

//引入命名空間
using System;
using System.Security;

class Example
{
    public static void Main() 
    {
       string msg = "The curent length of the SecureString object: {0}\n";
       Console.WriteLine("1) Instantiate the SecureString object.");
       SecureString ss = new SecureString();
       Console.WriteLine(msg, ss.Length);

       Console.WriteLine("2) Append 'a' to the value.");
       ss.AppendChar('a');
       Console.WriteLine(msg, ss.Length);

       Console.WriteLine("3) Append 'X' to the value.");
       ss.AppendChar('X');
       Console.WriteLine(msg, ss.Length);

       Console.WriteLine("4) Append 'c' to the value.");
       ss.AppendChar('c');
       Console.WriteLine(msg, ss.Length);

       Console.WriteLine("5) Insert 'd' at the end of the value.");
       ss.InsertAt(ss.Length, 'd');
       Console.WriteLine(msg, ss.Length);

       Console.WriteLine("6) Remove the last character ('d') from the value.");
       ss.RemoveAt(3);
       Console.WriteLine(msg, ss.Length);

       Console.WriteLine("7) Set the second character of the value to 'b'.");
       ss.SetAt(1, 'b');
       Console.WriteLine(msg, ss.Length);

       Console.WriteLine("8) Delete the value of the SecureString object:");
       ss.Clear();
       Console.WriteLine(msg, ss.Length);
       
       ss.Dispose();
    }
}
開發者ID:.NET開發者,項目名稱:System.Security,代碼行數:44,代碼來源:SecureString.RemoveAt

輸出:

1) Instantiate the SecureString object.
The curent length of the SecureString object: 0

2) Append 'a' to the value.
The curent length of the SecureString object: 1

3) Append 'X' to the value.
The curent length of the SecureString object: 2

4) Append 'c' to the value.
The curent length of the SecureString object: 3

5) Insert 'd' at the end of the value.
The curent length of the SecureString object: 4

6) Remove the last character ('d') from the value.
The curent length of the SecureString object: 3

7) Set the second character of the value to 'b'.
The curent length of the SecureString object: 3

8) Delete the value of the SecureString object:
The curent length of the SecureString object: 0

示例2: Main

//引入命名空間
using System;
using System.Security;

class Example
{
   public static void Main()
   {
      ConsoleKeyInfo cki;
      String m = "\nEnter your password (up to 15 letters, numbers, and underscores)\n" +
                 "Press BACKSPACE to delete the last character entered. " +
                 "\nPress Enter when done, or ESCAPE to quit:";
      SecureString password = new SecureString();
      int top, left;

      // The Console.TreatControlCAsInput property prevents CTRL+C from
      // ending this example.
      Console.TreatControlCAsInput = true;

      Console.Clear();
      Console.WriteLine(m);

      top  = Console.CursorTop;
      left = Console.CursorLeft;

      // Read user input from the console. Store up to 15 letter, digit, or underscore
      // characters in a SecureString object, or delete a character if the user enters
      // a backspace. Display an asterisk (*) on the console to represent each character
      // that is stored.

      do {
         cki = Console.ReadKey(true);
         if (cki.Key == ConsoleKey.Escape) break;

         if (cki.Key == ConsoleKey.Backspace) {
            if (password.Length > 0) {
               Console.SetCursorPosition(left + password.Length - 1, top);
               Console.Write(' ');
               Console.SetCursorPosition(left + password.Length - 1, top);
               password.RemoveAt(password.Length-1);
            }
         }
         else {
            if ((password.Length < 15) &&
                 (Char.IsLetterOrDigit(cki.KeyChar) || cki.KeyChar == '_')) {
               password.AppendChar(cki.KeyChar);
               Console.SetCursorPosition(left+password.Length-1, top);
               Console.Write('*');
            }
         }
      } while (cki.Key != ConsoleKey.Enter & password.Length < 15);

      // Make the password read-only to prevent modification.
      password.MakeReadOnly();
      // Dispose of the SecureString instance.
      password.Dispose();
   }
}
// This example displays output like the following:
//    Enter your password (up to 15 letters, numbers, and underscores)
//    Press BACKSPACE to delete the last character entered.
//    Press Enter when done, or ESCAPE to quit:
//    ************
開發者ID:.NET開發者,項目名稱:System.Security,代碼行數:63,代碼來源:SecureString.RemoveAt

示例3: ReadString

//引入命名空間
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);
                }
            }
        }
    }
}
開發者ID:C#程序員,項目名稱:System.Security,代碼行數:49,代碼來源:SecureString.RemoveAt


注:本文中的System.Security.SecureString.RemoveAt方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。