Как стать автором
Обновить
0
0

Пользователь

Отправить сообщение
В Powershell есть штатные CmdLetы ConvertFrom-SecureString и ConvertTo-SecureString.
#Получение зашифрованной строки
$SecureString = Read-Host -AsSecureString
$StandardString = ConvertFrom-SecureString $SecureString


Полученную строку можно сохранить в файл параметров и в дальнейшем использовать в скрипте
$SecureString2 = ConvertTo-SecureString -String $Encrypted


В переменной $SecureString2 в данном случае будет не пароль в чистом виде, а объект класса SecureString. Извлечь из него исходную строчку можно так
$Credential = New-Object PScredential "AnyText",$SecureString2
$PlainText = $Credential.GetNetworkCredential().Password


В документации MS по ConvertFrom-SecureString сказано:
If an encryption key is specified by using the Key or SecureKey parameters, the Advanced Encryption Standard (AES) encryption algorithm is used. The specified key must have a length of 128, 192, or 256 bits, because those are the key lengths supported by the AES encryption algorithm. If no key is specified, the Windows Data Protection API (DPAPI) is used to encrypt the standard string representation.

Таким образом, если не указывать ключ шифрования, используется DPAPI и для каждого хоста и учетной записи получим уникальную зашифрованную строку на выходе.

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность