Compartir a través de


ConvertFrom-SecureString

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

Sintaxis

ConvertFrom-SecureString
                [-SecureString] <SecureString>
                [[-SecureKey] <SecureString>]
                [<CommonParameters>]
ConvertFrom-SecureString
                [-SecureString] <SecureString>
                [-AsPlainText]
                [<CommonParameters>]
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 Clave o SecureKey, se usa el algoritmo de cifrado Estándar de Cifrado Avanzado (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 ¿Es seguro 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.

Tipo:SwitchParameter
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-Key

Especifica la clave de cifrado como una matriz de bytes.

Tipo:Byte[]
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín: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.

Tipo:SecureString
Posición:1
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-SecureString

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

Tipo:SecureString
Posición:0
Valor predeterminado:None
Requerido:True
Aceptar entrada de canalización:True
Aceptar caracteres comodín:False

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.