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 měl být důvěrné, například odstraněním z paměti počítače, pokud 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í údaje ke spuštění 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 naleznete v tématu Doplňkové poznámky k rozhraní API pro SecureString.
Konstruktory
| Name | Description |
|---|---|
| SecureString() |
Inicializuje novou instanci SecureString třídy. |
| SecureString(Char*, Int32) |
Inicializuje novou instanci SecureString třídy z podarray Char objektů. Tento konstruktor není kompatibilní se specifikací CLS. Alternativou kompatibilní se specifikací CLS je SecureString(). |
Vlastnosti
| Name | Description |
|---|---|
| Length |
Získá počet znaků v aktuálním zabezpečeném řetězci. |
Metody
| Name | Description |
|---|---|
| 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čuje, zda je zadaný objekt roven aktuálnímu objektu. (Zděděno od Object) |
| GetHashCode() |
Slouží jako výchozí funkce hash. (Zděděno od Object) |
| GetType() |
Získá Type aktuální instance. (Zděděno od Object) |
| InsertAt(Int32, Char) |
Vloží znak do tohoto zabezpečeného řetězce na zadanou pozici indexu. |
| IsReadOnly() |
Určuje, jestli je tento zabezpečený řetězec označen jen pro čtení. |
| MakeReadOnly() |
Vytvoří textovou hodnotu tohoto zabezpečeného řetězce jen pro čtení. |
| MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Object. (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) |