Compartilhar via


SecureString Classe

Definição

Representa o texto que deve ser mantido como confidencial, como excluindo-o da memória do computador quando ele não for mais necessário. Essa 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 a seguir demonstra como usar um SecureString para proteger a senha de um usuário para uso como uma 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

Comentários

Para obter mais informações sobre essa API, consulte Comentários da API complementar para SecureString.

Construtores

SecureString()

Inicializa uma nova instância da classe SecureString.

SecureString(Char*, Int32)

Inicializa uma nova instância da classe SecureString de uma submatriz de objetos Char.

Este construtor não é compatível com CLS. A alternativa compatível com CLS é SecureString().

Propriedades

Length

Obtém o número de caracteres na cadeia de caracteres atual.

Métodos

AppendChar(Char)

Acrescenta um caractere ao final da cadeia de caracteres segura atual.

Clear()

Exclui o valor da cadeia de caracteres segura atual.

Copy()

Cria uma cópia da cadeia de caracteres segura atual.

Dispose()

Libera todos os recursos usados pelo objeto SecureString atual.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetHashCode()

Serve como a função de hash padrão.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
InsertAt(Int32, Char)

Insere um caractere nesta cadeia de caracteres segura na posição de índice especificada.

IsReadOnly()

Indica se essa cadeia de caracteres segura é marcada como somente leitura.

MakeReadOnly()

Torna o valor de texto da cadeia de caracteres segura em somente leitura.

MemberwiseClone()

Cria uma cópia superficial do Object atual.

(Herdado de Object)
RemoveAt(Int32)

Remove o caractere na posição de índice especificada dessa cadeia de caracteres segura.

SetAt(Int32, Char)

Substitui o caractere existente na posição de índice especificada por outro caractere.

ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)

Aplica-se a

Confira também