Compartir vía


ConvertFrom-SecureString

Convierte una cadena segura en una cadena estándar cifrada.

Sintaxis

Secure (Es el valor predeterminado).

ConvertFrom-SecureString
    [-SecureString] <SecureString>
    [[-SecureKey] <SecureString>]
    [<CommonParameters>]

AsPlainText

ConvertFrom-SecureString
    [-SecureString] <SecureString>
    [-AsPlainText]
    [<CommonParameters>]

Open

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

Description

El cmdlet ConvertFrom-SecureString convierte una cadena segura (System.Security.SecureString) en una cadena estándar cifrada (System.String). A diferencia de una cadena segura, se puede guardar una cadena estándar cifrada en un archivo para su uso posterior. La cadena estándar cifrada se puede convertir de nuevo a su formato de cadena seguro mediante el cmdlet ConvertTo-SecureString.

Si se especifica una clave de cifrado mediante los parámetros Key o SecureKey, se utiliza el algoritmo de cifrado Advanced Encryption Standard (AES). La clave especificada debe tener una longitud de 128, 192 o 256 bits porque son las longitudes de clave admitidas por el algoritmo de cifrado AES. Si no se especifica ninguna clave, la API de protección de datos de Windows (DPAPI) se usa para cifrar la representación de cadena estándar.

Nota:

Para obtener más información sobre la protección de datos de SecureString, consulte ¿Qué tan segura es SecureString?.

Ejemplos

Ejemplo 1: Creación de una cadena segura

$SecureString = Read-Host -AsSecureString

Este comando crea una cadena segura a partir de los caracteres que se escriben en el símbolo del sistema. Después de escribir el comando, escriba la cadena que desea almacenar como una cadena segura. Se muestra un asterisco (*) para representar cada carácter que escriba.

Ejemplo 2: Convertir una cadena segura en una cadena estándar cifrada

$StandardString = ConvertFrom-SecureString $SecureString

Este comando convierte la cadena segura en la variable $SecureString en una cadena estándar cifrada. La cadena estándar cifrada resultante se almacena en la variable $StandardString.

Ejemplo 3: Convertir una cadena segura en una cadena estándar cifrada con una clave de 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

Estos comandos usan el algoritmo Advanced Encryption Standard (AES) para convertir la cadena segura almacenada en la variable $SecureString a una cadena estándar cifrada con una clave de 192 bits. La cadena estándar cifrada resultante se almacena en la variable $StandardString.

El primer comando almacena una clave en la variable $Key. La clave es una matriz de 24 números decimales, cada uno de los cuales debe ser inferior a 256 para caber en un solo byte sin signo.

Dado que cada número decimal representa un solo byte (8 bits), la clave tiene 24 dígitos para un total de 192 bits (8 x 24). Se trata de una longitud de clave válida para el algoritmo AES.

El segundo comando usa la clave de la variable $Key para convertir la cadena segura en una cadena estándar cifrada.

Ejemplo 4: Convertir una cadena segura directamente en una cadena de texto no cifrado

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

Parámetros

-AsPlainText

Cuando se establece, ConvertFrom-SecureString convertirá cadenas seguras en la cadena de texto no cifrado descifrada como salida.

Este parámetro se agregó en PowerShell 7.0.

Propiedades del parámetro

Tipo:SwitchParameter
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

AsPlainText
Posición:Named
Mandatory:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-Key

Especifica la clave de cifrado como una matriz de bytes.

Propiedades del parámetro

Tipo:

Byte[]

Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

Open
Posición:Named
Mandatory:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-SecureKey

Especifica la clave de cifrado como una cadena segura. El valor de cadena segura se convierte en una matriz de bytes antes de usarse como clave.

Propiedades del parámetro

Tipo:SecureString
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

Secure
Posición:1
Mandatory:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-SecureString

Especifica la cadena segura que se va a convertir en una cadena estándar cifrada.

Propiedades del parámetro

Tipo:SecureString
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

(All)
Posición:0
Mandatory:True
Valor de la canalización:True
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

CommonParameters

Este cmdlet admite los parámetros comunes: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction y -WarningVariable. Para obtener más información, vea about_CommonParameters.

Entradas

SecureString

Puede canalizar un objeto SecureString a este cmdlet.

Salidas

String

Este cmdlet devuelve la cadena de texto sin formato creada.

Notas

  • Para crear una cadena segura a partir de caracteres tecleados en la línea de comandos, use el parámetro AsSecureString del cmdlet Read-Host.
  • Al usar los parámetros de Key o SecureKey para especificar una clave, la longitud de la clave debe ser correcta. Por ejemplo, se puede especificar una clave de 128 bits como una matriz de bytes de 16 números decimales. De forma similar, las claves de 192 y 256 bits corresponden a matrices de bytes de 24 y 32 números decimales, respectivamente.
  • Algunos caracteres, como emoticonos, corresponden a varios puntos de código de la cadena que los contiene. Evite usar estos caracteres porque pueden causar problemas y malentendidos cuando se usan en una contraseña.