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 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.
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 que se use 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
Puede canalizar un objeto SecureString a este cmdlet.
Salidas
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.