SecureString Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Представляет текст, который должен оставаться конфиденциальным, например, путем его удаления из памяти компьютера, если он больше не нужен. Этот класс не наследуется.
public ref class SecureString sealed : IDisposable
public sealed class SecureString : IDisposable
type SecureString = class
interface IDisposable
Public NotInheritable Class SecureString
Implements IDisposable
- Наследование
-
SecureString
- Реализации
Примеры
В следующем примере показано, как использовать SecureString для защиты пароля пользователя для использования в качестве учетных данных для запуска нового процесса.
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
Комментарии
Дополнительные сведения об этом API см. в разделе Дополнительные примечания API для SecureString.
Конструкторы
SecureString() |
Инициализирует новый экземпляр класса SecureString. |
SecureString(Char*, Int32) |
Инициализирует новый экземпляр класса SecureString из подмассива объектов Char. Этот конструктор несовместим с CLS. CLS-совместимая альтернатива — SecureString(). |
Свойства
Length |
Возвращает количество символов в текущей защищенной строке. |
Методы
AppendChar(Char) |
Добавляет знак в конец текущей защищенной строки. |
Clear() |
Удаляет значение текущей защищенной строки. |
Copy() |
Создает копию текущей защищенной строки. |
Dispose() |
Освобождает все ресурсы, используемые текущим объектом SecureString. |
Equals(Object) |
Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
GetHashCode() |
Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
GetType() |
Возвращает объект Type для текущего экземпляра. (Унаследовано от Object) |
InsertAt(Int32, Char) |
Вставляет знак в заданную индексом позицию защищенной строки. |
IsReadOnly() |
Указывает, что защищенная строка доступна только для чтения. |
MakeReadOnly() |
Делает текстовое значение этой защищенной строки доступным только для чтения. |
MemberwiseClone() |
Создает неполную копию текущего объекта Object. (Унаследовано от Object) |
RemoveAt(Int32) |
Удаляет из защищенной строки знак, расположенный по указанному индексу. |
SetAt(Int32, Char) |
Заменяет расположенный по указанному индексу знак другим знаком. |
ToString() |
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |