Convierte cadenas estándar cifradas en cadenas seguras. También puede convertir texto sin formato en cadenas seguras. Se utiliza con ConvertFrom-SecureString y Read-Host.

Sintaxis

ConvertTo-SecureString [-Key <Byte[]>] [-String] <string> [<CommonParameters>]

ConvertTo-SecureString [-AsPlainText] [-Force] [-String] <string> [<CommonParameters>]

ConvertTo-SecureString [[-SecureKey] <SecureString>] [-String] <string> [<CommonParameters>]

Descripción

El cmdlet ConvertTo-SecureString convierte cadenas estándar cifradas en cadenas seguras. También puede convertir texto sin formato en cadenas seguras. Se utiliza con ConvertFrom-SecureString y Read-Host. La cadena segura que crea el cmdlet puede usarse con cmdlets o funciones que requieran un parámetro de tipo SecureString. La cadena segura puede volverse a convertir en una cadena estándar cifrada mediante el cmdlet ConvertFrom-SecureString. Esto permite almacenarla en un archivo para usarla posteriormente.

Si la cadena estándar que se desea convertir se cifró con ConvertFrom-SecureString mediante una clave específica, es necesario proporcionar esta misma clave como valor del parámetro Key o SecureKey del cmdlet ConvertTo-SecureString.

Parámetros

-AsPlainText

Especifica la cadena de texto sin formato que se va a convertir en una cadena segura. Los cmdlets para cadenas seguras ayudan a proteger el texto confidencial. El texto se cifra para garantizar la privacidad y se elimina de la memoria del equipo después de su uso. Si usa este parámetro para proporcionar texto sin formato como entrada, el sistema no podrá proteger dicha entrada de esta manera. Para usar este parámetro, también debe especificar el parámetro Force.

¿Requerido?

false

¿Posición?

2

Valor predeterminado

¿Aceptar canalización?

false

¿Aceptar caracteres comodín?

false

-Force

Confirma que conoce las consecuencias de usar el parámetro AsPlainText y sigue deseando usarlo.

¿Requerido?

false

¿Posición?

3

Valor predeterminado

¿Aceptar canalización?

false

¿Aceptar caracteres comodín?

false

-Key <Byte[]>

Indica la clave de cifrado que se va a usar al convertir una cadena segura en una cadena estándar cifrada. Las longitudes válidas para claves son 16, 24 y 32 bytes.

¿Requerido?

false

¿Posición?

named

Valor predeterminado

¿Aceptar canalización?

false

¿Aceptar caracteres comodín?

false

-SecureKey <SecureString>

Indica la clave de cifrado que se va a usar al convertir una cadena segura en una cadena estándar cifrada. Es necesario proporcionar la clave con el formato de una cadena segura. Esta cadena segura se convierte en una matriz de bytes antes de usarla como clave. Las longitudes válidas para claves son 16, 24 y 32 bytes.

¿Requerido?

false

¿Posición?

2

Valor predeterminado

¿Aceptar canalización?

false

¿Aceptar caracteres comodín?

false

-String <string>

Especifica la cadena que se va a convertir en una cadena segura.

¿Requerido?

true

¿Posición?

1

Valor predeterminado

¿Aceptar canalización?

true (ByValue)

¿Aceptar caracteres comodín?

false

<CommonParameters>

Este cmdlet admite los parámetros comunes: -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer y -OutVariable. Para obtener más información, vea about_Commonparameters.

Entradas y salidas

El tipo de entrada es el tipo de los objetos que se pueden canalizar al cmdlet. El tipo devuelto es el tipo de los objetos que el cmdlet devuelve.

Entradas

System.String

Una cadena estándar cifrada se puede convertir en ConvertTo-SecureString.

Salidas

System.Security.SecureString

ConvertTo-SecureString devuelve un objeto SecureString.

Ejemplo 1

C:\PS>$secure = read-host -assecurestring

C:\PS> $secure
System.Security.SecureString

C:\PS> $encrypted = convertfrom-securestring -securestring $secure
C:\PS> $encrypted
01000000d08c9ddf0115d1118c7a00c04fc297eb010000001a114d45b8dd3f4aa11ad7c0abdae9800000000002000000000003660000a8000000100000005df63cea84bfb7d70bd6842e7
efa79820000000004800000a000000010000000f10cd0f4a99a8d5814d94e0687d7430b100000008bf11f1960158405b2779613e9352c6d14000000e6b7bf46a9d485ff211b9b2a2df3bd
6eb67aae41

C:\PS> $secure2 = convertto-securestring -string $encrypted
C:\PS> $secure2
System.Security.SecureString

Descripción
-----------
En este ejemplo se muestra cómo crear una cadena segura a partir de los datos proporcionados por el usuario, se convierte la cadena segura en una cadena estándar cifrada y, a continuación, se vuelve a convertir la cadena estándar cifrada en una cadena segura.

El primer comando utiliza el parámetro AsSecureString del cmdlet Read-Host para crear una cadena segura. Después de escribir el comando, cualquier carácter que escriba se convierte en una cadena segura y, a continuación, se guarda en la variable $secure.

El segundo comando muestra el contenido de la variable $secure. Dado que esta variable contiene una cadena segura, Windows PowerShell muestra solamente el tipo System.Security.SecureString. 

El tercer comando utiliza el cmdlet ConvertFrom-SecureString para convertir la cadena segura de la variable $secure en una cadena estándar cifrada. Guarda el resultado en la variable $encrypted. El cuarto comando muestra la cadena cifrada en el valor de la variable $encrypted.

El quinto comando utiliza el cmdlet ConvertTo-SecureString para convertir la cadena estándar cifrada de la variable $encrypted de nuevo en una cadena segura. Guarda el resultado en la variable $secure2. El sexto comando muestra el valor de la variable $secure2. El tipo SecureString indica que el comando se ha ejecutado correctamente.






Ejemplo 2

C:\PS>$secure = read-host -assecurestring

C:\PS> $encrypted = convertfrom-securestring -secureString $secure -key (1..16)

C:\PS> $encrypted | set-content encrypted.txt

C:\PS> $secure2 = get-content encrypted.txt | convertto-securestring -key (1..16)

Descripción
-----------
En este ejemplo se muestra cómo crear una cadena segura a partir de una cadena estándar cifrada guardada en un archivo.

El primer comando utiliza el parámetro AsSecureString del cmdlet Read-Host para crear una cadena segura. Después de escribir el comando, cualquier carácter que escriba se convierte en una cadena segura y, a continuación, se guarda en la variable $secure. 

El segundo comando utiliza el cmdlet ConvertFrom-SecureString para convertir la cadena segura de la variable $secure en una cadena estándar cifrada mediante la clave especificada. El contenido se guarda en la variable $encrypted.

El tercer comando utiliza un operador de canalización (|) para enviar el valor de la variable $encrypted al cmdlet Set-Content, que guarda el valor en el archivo Encrypted.txt.

El cuarto comando utiliza el cmdlet Get-Content para obtener la cadena estándar cifrada del archivo Encrypted.txt. El comando utiliza un operador de canalización para enviar la cadena cifrada al cmdlet ConvertTo-SecureString, que la convierte en una cadena segura mediante la clave especificada. Los resultados se guardan en la variable $secure2.






Ejemplo 3

C:\PS>$secure_string_pwd = convertto-securestring "P@ssW0rD!" -asplaintext -force

Descripción
-----------
Este comando convierte la cadena de texto sin formato "P@ssW0rD!" en una cadena segura y almacena el resultado en la variable $secure_string_pwd. Para usar el parámetro AsPlainText, el comando debe incluir también el parámetro Force.






Vea también




Tabla de contenido