Partager via


SecureString Classe

Définition

Représente le texte qui doit rester confidentiel, par exemple en le supprimant de la mémoire de l'ordinateur quand il n'est plus nécessaire. Cette classe ne peut pas être héritée.

public ref class SecureString sealed : IDisposable
public sealed class SecureString : IDisposable
type SecureString = class
    interface IDisposable
Public NotInheritable Class SecureString
Implements IDisposable
Héritage
SecureString
Implémente

Exemples

L’exemple suivant montre comment utiliser un SecureString pour sécuriser le mot de passe d’un utilisateur et l’utiliser comme informations d’identification pour démarrer un nouveau processus.

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

Remarques

Pour plus d’informations sur cette API, consultez Remarques supplémentaires sur l’API pour SecureString.

Constructeurs

SecureString()

Initialise une nouvelle instance de la classe SecureString.

SecureString(Char*, Int32)

Initialise une nouvelle instance de la classe SecureString à partir d'un sous-tableau d'objets Char.

Ce constructeur n’est pas conforme CLS. L’alternative conforme CLS est SecureString().

Propriétés

Length

Obtient le nombre de caractères dans la chaîne sécurisée actuelle.

Méthodes

AppendChar(Char)

Ajoute un caractère à la fin de la chaîne sécurisée actuelle.

Clear()

Supprime la valeur de la chaîne sécurisée actuelle.

Copy()

Crée une copie de la chaîne sécurisée actuelle.

Dispose()

Libère toutes les ressources utilisées par l’objet SecureString actuel.

Equals(Object)

Détermine si l'objet spécifié est égal à l'objet actuel.

(Hérité de Object)
GetHashCode()

Fait office de fonction de hachage par défaut.

(Hérité de Object)
GetType()

Obtient le Type de l'instance actuelle.

(Hérité de Object)
InsertAt(Int32, Char)

Insère un caractère dans cette chaîne sécurisée à la position d'index spécifiée.

IsReadOnly()

Indique si cette chaîne sécurisée est en lecture seule.

MakeReadOnly()

Met en lecture seule la valeur texte de cette chaîne sécurisée.

MemberwiseClone()

Crée une copie superficielle du Object actuel.

(Hérité de Object)
RemoveAt(Int32)

Supprime de cette chaîne sécurisée le caractère situé à la position d'index spécifiée.

SetAt(Int32, Char)

Remplace le caractère existant à la position d'index spécifiée par un autre caractère.

ToString()

Retourne une chaîne qui représente l'objet actuel.

(Hérité de Object)

S’applique à

Voir aussi