SecureString Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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) |