Udostępnij za pośrednictwem


SecureString Klasa

Definicja

Reprezentuje tekst, który powinien być poufny, na przykład przez usunięcie go z pamięci komputera, gdy nie będzie już potrzebny. Klasa ta nie może być dziedziczona.

public ref class SecureString sealed : IDisposable
public sealed class SecureString : IDisposable
type SecureString = class
    interface IDisposable
Public NotInheritable Class SecureString
Implements IDisposable
Dziedziczenie
SecureString
Implementuje

Przykłady

W poniższym przykładzie pokazano, jak użyć elementu w SecureString celu zabezpieczenia hasła użytkownika do użycia jako poświadczenia w celu rozpoczęcia nowego 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

Uwagi

Aby uzyskać więcej informacji na temat tego interfejsu API, zobacz Dodatkowe uwagi dotyczące interfejsu API dla protokołu SecureString.

Konstruktory

SecureString()

Inicjuje nowe wystąpienie klasy SecureString.

SecureString(Char*, Int32)

Inicjuje SecureString nowe wystąpienie klasy z podarray Char obiektów.

Ten konstruktor nie jest zgodny ze specyfikacją CLS. Alternatywą zgodną ze standardem CLS jest SecureString().

Właściwości

Length

Pobiera liczbę znaków w bieżącym bezpiecznym ciągu.

Metody

AppendChar(Char)

Dołącza znak na końcu bieżącego bezpiecznego ciągu.

Clear()

Usuwa wartość bieżącego bezpiecznego ciągu.

Copy()

Tworzy kopię bieżącego bezpiecznego ciągu.

Dispose()

Zwalnia wszystkie zasoby używane przez bieżący SecureString obiekt.

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetType()

Type Pobiera bieżące wystąpienie.

(Odziedziczone po Object)
InsertAt(Int32, Char)

Wstawia znak w tym bezpiecznym ciągu na określonej pozycji indeksu.

IsReadOnly()

Wskazuje, czy ten bezpieczny ciąg jest oznaczony jako tylko do odczytu.

MakeReadOnly()

Określa wartość tekstową tego bezpiecznego ciągu tylko do odczytu.

MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
RemoveAt(Int32)

Usuwa znak na określonej pozycji indeksu z tego bezpiecznego ciągu.

SetAt(Int32, Char)

Zastępuje istniejący znak na określonej pozycji indeksu innym znakiem.

ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)

Dotyczy

Zobacz też