SecureString Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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) |