Suponha que eu tenha uma string:
"password"
E pode estar na forma de uma string segura criptografada convertida em texto. Este texto de string seguro pode ser descriptografado ConvertFrom-SecureString
para recuperar a "senha":
"1213132131....1232131" | ConvertFrom-SecureString |%{echo $_}
password
Existe alguma maneira de o PowerShell me dizer se a string de entrada já está descriptografada?
Ou preciso encontrar outra maneira de saber se a string de entrada está em texto simples ou criptografada como uma string segura?
Embargo:
[securestring]
em novos projetos é desencorajado porque oferece muito pouca proteção em plataformas do tipo Unix e apenas proteção limitada no Windows. Consulte esta recomendação de compatibilidade da plataforma .NET e esta resposta .Você pode inferir se a string está criptografada ou não com base no
ConvertTo-SecureString
sucesso ou não da aplicação:Se a string estiver criptografada - ou seja, se for a forma serializada de uma
[securestring]
instância obtida comConvertFrom-SecureString
-$secureString
será atribuída a forma desserializada (ou seja, uma[securestring]
instância).Observe que - por design voltado para a segurança -
ConvertTo-SecureString
só funciona se uma determinada string serializada de[securestring]
entrada foi serializada pela mesma conta de usuário .