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) |