180 votes

Convertir la chaîne en SecureString

Comment convertir String en SecureString ?

247voto

Il existe également une autre façon de convertir entre SecureString et String.

1. Chaîne à SecureString

SecureString theSecureString = new NetworkCredential("", "myPass").SecurePassword;

2. SecureString à String

string theString = new NetworkCredential("", theSecureString).Password;

Voici le lien

164voto

John Dagg Points 176

Vous ne le faites pas. La seule raison d'utiliser l'objet SecureString est d'éviter de créer un objet chaîne (qui est chargé en mémoire et y est conservé en texte clair jusqu'à la collecte de la corbeille). Cependant, vous pouvez ajouter des caractères à une chaîne de caractères sécurisée en les ajoutant.

var s = new SecureString();
s.AppendChar('d');
s.AppendChar('u');
s.AppendChar('m');
s.AppendChar('b');
s.AppendChar('p');
s.AppendChar('a');
s.AppendChar('s');
s.AppendChar('s');
s.AppendChar('w');
s.AppendChar('d');

78voto

Kiran Madhav Points 60

la méthode ci-dessous permet de convertir une chaîne en chaîne sécurisée

private SecureString ConvertToSecureString(string password)
{
    if (password == null)
        throw new ArgumentNullException("password");

    var securePassword = new SecureString();

    foreach (char c in password)
        securePassword.AppendChar(c);

    securePassword.MakeReadOnly();
    return securePassword;
}

25voto

Scorpio Points 11

Vous pouvez suivre ceci :

string password = "test";
SecureString sec_pass = new SecureString();
Array.ForEach(password.ToArray(), sec_pass.AppendChar);
sec_pass.MakeReadOnly();

17voto

granadaCoder Points 6390

Voici une astuce de linq pas cher.

            SecureString sec = new SecureString();
            string pwd = "abc123"; /* Not Secure! */
            pwd.ToCharArray().ToList().ForEach(sec.AppendChar);
            /* and now : seal the deal */
            sec.MakeReadOnly();

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X