Sdílet prostřednictvím


SecureString Třída

Definice

Představuje text, který by se měl zachovat jako důvěrný, například jeho odstraněním z paměti počítače, když už není potřeba. Tato třída se nemůže dědit.

public ref class SecureString sealed : IDisposable
public sealed class SecureString : IDisposable
type SecureString = class
    interface IDisposable
Public NotInheritable Class SecureString
Implements IDisposable
Dědičnost
SecureString
Implementuje

Příklady

Následující příklad ukazuje, jak použít SecureString k zabezpečení hesla uživatele pro použití jako přihlašovacích údajů k zahájení nového procesu.

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

public class Example
{
    public static void Main()
    {
        // Instantiate the secure string.
        SecureString securePwd = new SecureString();
        ConsoleKeyInfo key;

        Console.Write("Enter password: ");
        do {
           key = Console.ReadKey(true);
           
           // Ignore any key out of range.
           if (((int) key.Key) >= 65 && ((int) key.Key <= 90)) {
              // Append the character to the password.
              securePwd.AppendChar(key.KeyChar);
              Console.Write("*");
           }   
        // Exit if Enter key is pressed.
        } while (key.Key != ConsoleKey.Enter);
        Console.WriteLine();
        
        try {
            Process.Start("Notepad.exe", "MyUser", securePwd, "MYDOMAIN");
        }
        catch (Win32Exception e) {
            Console.WriteLine(e.Message);
        }
        finally {
           securePwd.Dispose();
        }
    }
}
Imports System.ComponentModel
Imports System.Diagnostics
Imports System.Security

Public Class Example
    Public Shared Sub Main()
        ' Instantiate the secure string.
        Dim securePwd As New SecureString()
        Dim key As ConsoleKeyInfo
        
        Console.Write("Enter password: ")
        Do
           key = Console.ReadKey(True)

           ' Ignore any key out of range
           If CInt(key.Key) >= 65 And CInt(key.Key <= 90) Then    
              ' Append the character to the password.
              securePwd.AppendChar(key.KeyChar)
              Console.Write("*")
           End If                                    
        ' Exit if Enter key is pressed.
        Loop While key.Key <> ConsoleKey.Enter
        Console.WriteLine()
        
        Try
            Process.Start("Notepad.exe", "MyUser", securePwd, "MYDOMAIN")
        Catch e As Win32Exception
            Console.WriteLine(e.Message)
        Finally
           securePwd.Dispose()
        End Try
    End Sub
End Class

Poznámky

Další informace o tomto rozhraní API najdete v tématu Doplňkové poznámky k rozhraní API pro SecureString.

Konstruktory

SecureString()

Inicializuje novou instanci SecureString třídy.

SecureString(Char*, Int32)

Inicializuje novou instanci SecureString třídy z podadresy Char objektů.

Tento konstruktor není kompatibilní se specifikací CLS. Alternativou kompatibilní s CLS je SecureString().

Vlastnosti

Length

Získá počet znaků v aktuálním zabezpečeném řetězci.

Metody

AppendChar(Char)

Připojí znak na konec aktuálního zabezpečeného řetězce.

Clear()

Odstraní hodnotu aktuálního zabezpečeného řetězce.

Copy()

Vytvoří kopii aktuálního zabezpečeného řetězce.

Dispose()

Uvolní všechny prostředky používané aktuálním SecureString objektem.

Equals(Object)

Určí, zda se zadaný objekt rovná aktuálnímu objektu.

(Zděděno od Object)
GetHashCode()

Slouží jako výchozí hashovací funkce.

(Zděděno od Object)
GetType()

Získá aktuální Type instanci.

(Zděděno od Object)
InsertAt(Int32, Char)

Vloží znak do tohoto zabezpečeného řetězce na zadanou pozici indexu.

IsReadOnly()

Označuje, jestli je tento zabezpečený řetězec označený jen pro čtení.

MakeReadOnly()

Nastaví textovou hodnotu tohoto zabezpečeného řetězce jen pro čtení.

MemberwiseClone()

Vytvoří mělkou kopii aktuálního Objectsouboru .

(Zděděno od Object)
RemoveAt(Int32)

Odebere znak na zadané pozici indexu z tohoto zabezpečeného řetězce.

SetAt(Int32, Char)

Nahradí existující znak na zadané pozici indexu jiným znakem.

ToString()

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)

Platí pro

Viz také