ConvertFrom-SecureString
Converte uma cadeia de caracteres segura em uma cadeia de caracteres padrão criptografada.
Sintaxe
ConvertFrom-SecureString
[-SecureString] <SecureString>
[[-SecureKey] <SecureString>]
[<CommonParameters>]
ConvertFrom-SecureString
[-SecureString] <SecureString>
[-AsPlainText]
[<CommonParameters>]
ConvertFrom-SecureString
[-SecureString] <SecureString>
[-Key <Byte[]>]
[<CommonParameters>]
Description
O ConvertFrom-SecureString
cmdlet converte uma cadeia de caracteres segura (System.Security.SecureString) em uma cadeia de caracteres padrão criptografada (System.String). Ao contrário de uma cadeia de caracteres segura, uma cadeia de caracteres padrão criptografada pode ser salva em um arquivo para uso posterior. A cadeia de caracteres padrão criptografada pode ser convertida de volta para seu formato de cadeia de caracteres segura usando o ConvertTo-SecureString
cmdlet.
Se uma chave de criptografia for especificada usando os parâmetros Key ou SecureKey , o algoritmo de criptografia AES (Advanced Encryption Standard) será usado. A chave especificada deve ter um comprimento de 128, 192 ou 256 bits porque esses são os comprimentos de chave suportados pelo algoritmo de criptografia AES. Se nenhuma chave for especificada, a API de Proteção de Dados do Windows (DPAPI) será usada para criptografar a representação de cadeia de caracteres padrão.
Nota
Observe que, por DotNet, o conteúdo de um SecureString não é criptografado em sistemas que não sejam Windows.
Exemplos
Exemplo 1: Criar uma cadeia de caracteres segura
$SecureString = Read-Host -AsSecureString
Este comando cria uma cadeia de caracteres segura a partir de caracteres que você digita no prompt de comando. Depois de inserir o comando, digite a cadeia de caracteres que você deseja armazenar como uma cadeia de caracteres segura. Um asterisco (*
) é exibido para representar cada caractere digitado.
Exemplo 2: Converter uma cadeia de caracteres segura em uma cadeia de caracteres padrão criptografada
$StandardString = ConvertFrom-SecureString $SecureString
Este comando converte a $SecureString
cadeia de caracteres segura na variável em uma cadeia de caracteres padrão criptografada. A cadeia de caracteres padrão criptografada resultante é armazenada na $StandardString
variável.
Exemplo 3: Converter uma cadeia de caracteres segura em uma cadeia de caracteres padrão criptografada com uma chave 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
Esses comandos usam o algoritmo AES (Advanced Encryption Standard) para converter a cadeia de caracteres segura armazenada na $SecureString
variável em uma cadeia de caracteres padrão criptografada com uma chave de 192 bits. A cadeia de caracteres padrão criptografada resultante é armazenada na $StandardString
variável.
O primeiro comando armazena $Key
uma chave na variável. A chave é uma matriz de 24 algarismos decimais, cada um dos quais deve ser inferior a 256 para caber dentro de um único byte não assinado.
Como cada algarismo decimal representa um único byte (8 bits), a chave tem 24 dígitos para um total de 192 bits (8 x 24). Este é um comprimento de chave válido para o algoritmo AES.
O segundo comando usa a chave na $Key
variável para converter a cadeia de caracteres segura em uma cadeia de caracteres padrão criptografada.
Exemplo 4: Converter uma cadeia de caracteres segura diretamente em uma cadeia de texto sem formatação
$secureString = ConvertTo-SecureString -String 'Example' -AsPlainText
$secureString # 'System.Security.SecureString'
ConvertFrom-SecureString -SecureString $secureString -AsPlainText # 'Example'
Parâmetros
-AsPlainText
Quando definido, ConvertFrom-SecureString
irá converter cadeias de caracteres seguras para a cadeia de texto simples desencriptada como saída.
Este parâmetro foi adicionado no PowerShell 7.0.
Tipo: | SwitchParameter |
Position: | Named |
Default value: | None |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | False |
-Key
Especifica a chave de criptografia como uma matriz de bytes.
Tipo: | Byte[] |
Position: | Named |
Default value: | None |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | False |
-SecureKey
Especifica a chave de criptografia como uma cadeia de caracteres segura. O valor da cadeia de caracteres segura é convertido em uma matriz de bytes antes de ser usado como a chave.
Tipo: | SecureString |
Position: | 1 |
Default value: | None |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | False |
-SecureString
Especifica a cadeia de caracteres segura a ser convertida em uma cadeia de caracteres padrão criptografada.
Tipo: | SecureString |
Position: | 0 |
Default value: | None |
Necessário: | True |
Aceitar entrada de pipeline: | True |
Aceitar carateres universais: | False |
Entradas
Você pode canalizar um objeto SecureString para este cmdlet.
Saídas
Este cmdlet retorna a cadeia de caracteres de texto sem formatação criada.
Notas
- Para criar uma cadeia de caracteres segura a partir de caracteres digitados no prompt de comando, use o parâmetro AsSecureString do
Read-Host
cmdlet. - Quando você usa os parâmetros Key ou SecureKey para especificar uma chave, o comprimento da chave deve estar correto. Por exemplo, uma chave de 128 bits pode ser especificada como uma matriz de bytes de 16 algarismos decimais. Da mesma forma, as chaves de 192 bits e 256 bits correspondem a matrizes de bytes de 24 e 32 algarismos decimais, respectivamente.
- Alguns caracteres, como emoticons, correspondem a vários pontos de código na cadeia de caracteres que os contém. Evite usar esses caracteres porque eles podem causar problemas e mal-entendidos quando usados em uma senha.