SecureString Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Representa texto que deve ser mantido confidencial, por exemplo, eliminando-o da memória do computador quando já não é necessário. Esta classe não pode ser herdada.
public ref class SecureString sealed : IDisposable
public sealed class SecureString : IDisposable
type SecureString = class
interface IDisposable
Public NotInheritable Class SecureString
Implements IDisposable
- Herança
-
SecureString
- Implementações
Exemplos
O exemplo seguinte demonstra como usar a SecureString para proteger a palavra-passe de um utilizador para ser usada como credencial para iniciar um novo processo.
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
Observações
Para mais informações sobre esta API, consulte Observações suplementares sobre a API para o SecureString.
Construtores
| Name | Description |
|---|---|
| SecureString() |
Inicializa uma nova instância da SecureString classe. |
| SecureString(Char*, Int32) |
Inicializa uma nova instância da SecureString classe a partir de um subarray de Char objetos. Este construtor não é compatível com CLS. A alternativa compatível com CLS é SecureString(). |
Propriedades
| Name | Description |
|---|---|
| Length |
Obtém o número de caracteres na cadeia segura atual. |
Métodos
| Name | Description |
|---|---|
| AppendChar(Char) |
Acrescenta um carácter ao final da cadeia segura atual. |
| Clear() |
Elimina o valor da cadeia segura atual. |
| Copy() |
Cria uma cópia da cadeia segura atual. |
| Dispose() |
Liberta todos os recursos usados pelo objeto atual SecureString . |
| Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
| GetHashCode() |
Serve como função de hash predefinida. (Herdado de Object) |
| GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
| InsertAt(Int32, Char) |
Insere um carácter nesta cadeia segura na posição do índice especificada. |
| IsReadOnly() |
Indica se esta cadeia segura está marcada como apenas leitura. |
| MakeReadOnly() |
Torna o valor de texto desta cadeia segura apenas de leitura. |
| MemberwiseClone() |
Cria uma cópia superficial do atual Object. (Herdado de Object) |
| RemoveAt(Int32) |
Remove o carácter na posição de índice especificada desta cadeia segura. |
| SetAt(Int32, Char) |
Substitui o carácter existente na posição índice especificada por outro caractere. |
| ToString() |
Devolve uma cadeia que representa o objeto atual. (Herdado de Object) |