ConvertFrom-SecureString

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

Syntax

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

Description

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

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

Nota:

Tenga en cuenta que por DotNet, el contenido de secureString no se cifra en sistemas que no son de Windows.

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 especificar 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 de la $SecureString variable en una cadena estándar cifrada. La cadena estándar cifrada resultante se almacena en la $StandardString variable .

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 estándar de cifrado avanzado (AES) para convertir la cadena segura almacenada en la $SecureString variable en una cadena estándar cifrada con una clave de 192 bits. La cadena estándar cifrada resultante se almacena en la $StandardString variable .

El primer comando almacena una clave en la $Key variable . 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). Esta es una longitud de clave válida para el algoritmo AES.

El segundo comando usa la clave de la $Key variable 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.

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

-Key

Especifica la clave de cifrado como una matriz de bytes.

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

Type:SecureString
Position:1
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SecureString

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

Type:SecureString
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters: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 que se escriben en el símbolo del sistema, use el parámetro AsSecureString del Read-Host cmdlet .
  • Cuando se usan los parámetros 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.