Partager via


ConvertFrom-SecureString

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

Syntax

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 reconverti dans son format de chaîne sécurisée à 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.

Notes

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

Exemples

Exemple 1 : Create 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, chacun d’eux devant être inférieur à 256 pour tenir dans un seul octet non signé.

Étant donné que chaque nombre décimal représente un seul octet (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é dans 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 de texte clair

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

Paramètres

-AsPlainText

Lorsqu’elle est définie, ConvertFrom-SecureString convertit les chaînes sécurisées en chaîne de texte clair déchiffrée en tant que sortie.

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

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Key

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

Type:Byte[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SecureString

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

Type:SecureString
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters: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 sous la forme d’un tableau d’octets de 16 chiffres décimaux. De même, les clés 192 bits et 256 bits correspondent à des tableaux d’octets de 24 et 32 chiffres décimaux, respectivement.
  • 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 entraîner des problèmes et des malentendus lorsqu’ils sont utilisés dans un mot de passe.