ConvertFrom-SecureString
Converte una stringa sicura in una stringa standard crittografata.
Sintassi
ConvertFrom-SecureString
[-SecureString] <SecureString>
[[-SecureKey] <SecureString>]
[<CommonParameters>]
ConvertFrom-SecureString
[-SecureString] <SecureString>
[-AsPlainText]
[<CommonParameters>]
ConvertFrom-SecureString
[-SecureString] <SecureString>
[-Key <Byte[]>]
[<CommonParameters>]
Descrizione
Il ConvertFrom-SecureString
cmdlet converte una stringa sicura (System.Security.SecureString) in una stringa standard crittografata (System.String). A differenza di una stringa sicura, una stringa standard crittografata può essere salvata in un file per essere usata successivamente. La stringa standard crittografata può essere convertita nel formato di stringa sicura usando il ConvertTo-SecureString
cmdlet .
Se si specifica una chiave di crittografia usando i parametri Key o SecureKey , viene usato l'algoritmo di crittografia AES (Advanced Encryption Standard). La chiave specificata deve avere una lunghezza di 128, 192 o 256 bit, perché queste sono le lunghezze di chiave supportate dall'algoritmo di crittografia AES. Se non si specifica una chiave, per crittografare la rappresentazione di stringa standard viene usata Data Protection API (DPAPI) di Windows.
Nota
Si noti che per DotNet, il contenuto di secureString non viene crittografato nei sistemi non Windows.
Esempio
Esempio 1: Creare una stringa sicura
$SecureString = Read-Host -AsSecureString
Questo comando crea una stringa sicura dai caratteri digitati al prompt dei comandi. Dopo aver immesso il comando, digitare la stringa da archiviare come stringa sicura. Viene visualizzato un asterisco (*
) per rappresentare ogni carattere digitato.
Esempio 2: Convertire una stringa sicura in una stringa standard crittografata
$StandardString = ConvertFrom-SecureString $SecureString
Questo comando converte la stringa sicura nella $SecureString
variabile in una stringa standard crittografata. La stringa standard crittografata risultante viene archiviata nella $StandardString
variabile .
Esempio 3: Convertire una stringa sicura in una stringa standard crittografata con una chiave a 192 bit
$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
Questi comandi usano l'algoritmo AES (Advanced Encryption Standard) per convertire la stringa protetta archiviata nella variabile in $SecureString
una stringa standard crittografata con una chiave a 192 bit. La stringa standard crittografata risultante viene archiviata nella $StandardString
variabile .
Il primo comando archivia una chiave nella $Key
variabile . La chiave è una matrice di 24 numeri decimali, ognuno dei quali deve essere minore di 256 per adattarsi a un singolo byte senza segno.
Poiché ogni numero decimale rappresenta un singolo byte (8 bit), la chiave ha 24 cifre per un totale di 192 bit (8 x 24). Questa lunghezza di chiave è valida per l'algoritmo AES.
Il secondo comando usa la chiave nella variabile per convertire la stringa protetta in $Key
una stringa standard crittografata.
Esempio 4: Convertire una stringa protetta direttamente in una stringa di testo non crittografato
$secureString = ConvertTo-SecureString -String 'Example' -AsPlainText
$secureString # 'System.Security.SecureString'
ConvertFrom-SecureString -SecureString $secureString -AsPlainText # 'Example'
Parametri
-AsPlainText
Se impostato, ConvertFrom-SecureString
convertirà stringhe sicure nella stringa di testo non crittografato decrittografata come output.
Questo parametro è stato aggiunto in PowerShell 7.0.
Tipo: | SwitchParameter |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-Key
Specifica la chiave di crittografia come una matrice di byte.
Tipo: | Byte[] |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-SecureKey
Specifica la chiave di crittografia come una stringa sicura. Il valore della stringa sicura viene convertito in una matrice di byte prima di essere usata come chiave.
Tipo: | SecureString |
Posizione: | 1 |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-SecureString
Specifica la stringa sicura da convertire una stringa standard crittografata.
Tipo: | SecureString |
Posizione: | 0 |
Valore predefinito: | None |
Necessario: | True |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | False |
Input
È possibile inviare tramite pipe un oggetto SecureString a questo cmdlet.
Output
Questo cmdlet restituisce la stringa di testo normale creata.
Note
- Per creare una stringa sicura da caratteri digitati al prompt dei comandi, usare il parametro AsSecureString del
Read-Host
cmdlet. - Quando si usano i parametri Key o SecureKey per specificare una chiave, la lunghezza della chiave deve essere corretta. Ad esempio, una chiave di 128 bit può essere specificata come matrice di byte di 16 numeri decimali. Analogamente, le chiavi a 192 bit e a 256 bit corrispondono rispettivamente a matrici di byte di 24 e 32 numeri decimali.
- Alcuni caratteri, ad esempio emoticon, corrispondono a diversi punti di codice nella stringa che li contiene. Evitare di usare questi caratteri perché possono causare problemi e incomprensioni quando vengono usati in una password.