Partager via


ConvertFrom-SecureString

Convertit une chaîne sécurisée en chaîne standard chiffrée.

Syntaxe

ConvertFrom-SecureString
                [-SecureString] <SecureString>
                [[-SecureKey] <SecureString>]
                [<CommonParameters>]
ConvertFrom-SecureString
                [-SecureString] <SecureString>
                [-AsPlainText]
                [<CommonParameters>]
ConvertFrom-SecureString
                [-SecureString] <SecureString>
                [-Key <Byte[]>]
                [<CommonParameters>]

Description

L’applet ConvertFrom-SecureString de commande convertit une chaîne sécurisée (System.Security.SecureString) en chaîne standard chiffrée (System.String). Contrairement à une chaîne sécurisée, une chaîne chiffrée standard peut être enregistrée dans un fichier pour une utilisation ultérieure. La chaîne standard chiffrée peut être convertie au format de chaîne sécurisé à l’aide de l’applet de ConvertTo-SecureString commande.

Si une clé de chiffrement est spécifiée à l’aide des paramètres Key ou SecureKey , l’algorithme de chiffrement AES (Advanced Encryption Standard) est utilisé. La clé spécifiée doit avoir une longueur égale à 128, 192 ou 256 bits, car ce sont les longueurs de clé prises en charge par l'algorithme de chiffrement AES. Si aucune clé n'est spécifiée, l'API de protection des données (DPAPI) Windows est utilisée pour chiffrer la représentation de chaîne standard.

Remarque

Notez que par DotNet, le contenu d’une SecureString n’est pas chiffré sur les systèmes non Windows.

Exemples

Exemple 1 : Créer une chaîne sécurisée

$SecureString = Read-Host -AsSecureString

Cette commande crée une chaîne sécurisée à partir de caractères que vous tapez à l'invite de commandes. Après avoir entré la commande, tapez la chaîne que vous souhaitez stocker en tant que chaîne sécurisée. Un astérisque (*) s’affiche pour représenter chaque caractère que vous tapez.

Exemple 2 : Convertir une chaîne sécurisée en chaîne standard chiffrée

$StandardString = ConvertFrom-SecureString $SecureString

Cette commande convertit la chaîne sécurisée dans la $SecureString variable en chaîne standard chiffrée. La chaîne standard chiffrée résultante est stockée dans la $StandardString variable.

Exemple 3 : Convertir une chaîne sécurisée en chaîne standard chiffrée avec une clé 192 bits

$Key = (3,4,2,3,56,34,254,222,1,1,2,23,42,54,33,233,1,34,2,7,6,5,35,43)
$StandardString = ConvertFrom-SecureString $SecureString -Key $Key

Ces commandes utilisent l’algorithme AES (Advanced Encryption Standard) pour convertir la chaîne sécurisée stockée dans la $SecureString variable en chaîne standard chiffrée avec une clé 192 bits. La chaîne standard chiffrée résultante est stockée dans la $StandardString variable.

La première commande stocke une clé dans la $Key variable. La clé est un tableau de 24 chiffres décimaux, dont chacun doit être inférieur à 256 pour s’adapter à un octet non signé unique.

Étant donné que chaque chiffre décimal représente un octet unique (8 bits), la clé a 24 chiffres pour un total de 192 bits (8 x 24). Il s'agit d'une longueur de clé valide pour l'algorithme AES.

La deuxième commande utilise la clé de la $Key variable pour convertir la chaîne sécurisée en chaîne standard chiffrée.

Exemple 4 : Convertir une chaîne sécurisée directement en chaîne en texte clair

$secureString = ConvertTo-SecureString -String 'Example' -AsPlainText
$secureString # 'System.Security.SecureString'
ConvertFrom-SecureString -SecureString $secureString -AsPlainText # 'Example'

Paramètres

-AsPlainText

Quand elle est définie, ConvertFrom-SecureString convertit les chaînes sécurisées en chaîne en texte clair déchiffré en sortie.

Ce paramètre a été ajouté dans PowerShell 7.0.

Type:SwitchParameter
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-Key

Spécifie la clé de chiffrement en tant que tableau d'octets.

Type:Byte[]
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-SecureKey

Spécifie la clé de chiffrement en tant que chaîne sécurisée. La valeur de chaîne sécurisée est convertie en un tableau d'octets avant d'être utilisée comme clé.

Type:SecureString
Position:1
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-SecureString

Spécifie la chaîne sécurisée à convertir en chaîne standard chiffrée.

Type:SecureString
Position:0
Valeur par défaut:None
Obligatoire:True
Accepter l'entrée de pipeline:True
Accepter les caractères génériques:False

Entrées

SecureString

Vous pouvez diriger un objet SecureString vers cette applet de commande.

Sorties

String

Cette applet de commande retourne la chaîne de texte brut créée.

Notes

  • Pour créer une chaîne sécurisée à partir de caractères tapés à l’invite de commandes, utilisez le paramètre AsSecureString de l’applet Read-Host de commande.
  • Lorsque vous utilisez les paramètres Key ou SecureKey pour spécifier une clé, la longueur de la clé doit être correcte. Par exemple, une clé de 128 bits peut être spécifiée en tant que tableau d’octets de 16 chiffres décimaux. De même, les clés 192 bits et 256 bits correspondent respectivement aux tableaux d’octets de 24 et 32 chiffres décimaux.
  • Certains caractères, tels que les émoticônes, correspondent à plusieurs points de code dans la chaîne qui les contient. Évitez d’utiliser ces caractères, car ils peuvent provoquer des problèmes et des malentendus lorsqu’ils sont utilisés dans un mot de passe.