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
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 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.