Sdílet prostřednictvím


ConvertTo-SecureString

Převede šifrované standardní řetězce na zabezpečené řetězce. Může také převést prostý text na zabezpečené řetězce. Používá se s ConvertFrom-SecureString a hostitelem pro čtení.

Syntaxe

ConvertTo-SecureString
              [-String] <String>
              [[-SecureKey] <SecureString>]
              [<CommonParameters>]
ConvertTo-SecureString
              [-String] <String>
              [-AsPlainText]
              [-Force]
              [<CommonParameters>]
ConvertTo-SecureString
              [-String] <String>
              [-Key <Byte[]>]
              [<CommonParameters>]

Description

Rutina ConvertTo-SecureString převede šifrované standardní řetězce na zabezpečené řetězce. Může také převést prostý text na zabezpečené řetězce. Používá se s ConvertFrom-SecureString a hostitelem pro čtení. Zabezpečený řetězec vytvořený rutinou lze použít s rutinami nebo funkcemi, které vyžadují parametr typu SecureString. Zabezpečený řetězec lze převést zpět na šifrovaný standardní řetězec pomocí rutiny ConvertFrom-SecureString. To umožňuje uložení do souboru pro pozdější použití.

Pokud byl standardní řetězec převeden pomocí ConvertFrom-SecureString pomocí zadaného klíče, musí být stejný klíč zadán jako hodnota Key nebo SecureKey parametru ConvertTo-SecureString rutiny.

Příklady

Příklad 1: Převedení zabezpečeného řetězce na šifrovaný řetězec

PS C:\> $Secure = Read-Host -AsSecureString
PS C:\> $Secure
System.Security.SecureString PS C:\> $Encrypted = ConvertFrom-SecureString -SecureString $Secure
PS C:\> $Encrypted
01000000d08c9ddf0115d1118c7a00c04fc297eb010000001a114d45b8dd3f4aa11ad7c0abdae9800000000002000000000003660000a8000000100000005df63cea84bfb7d70bd6842e7
efa79820000000004800000a000000010000000f10cd0f4a99a8d5814d94e0687d7430b100000008bf11f1960158405b2779613e9352c6d14000000e6b7bf46a9d485ff211b9b2a2df3bd
6eb67aae41 PS C:\> $Secure2 = ConvertTo-SecureString -String $Encrypted
PS C:\> $Secure2
System.Security.SecureString

Tento příklad ukazuje, jak vytvořit zabezpečený řetězec ze vstupu uživatele, převést zabezpečený řetězec na šifrovaný standardní řetězec a pak převést šifrovaný standardní řetězec zpět na zabezpečený řetězec.

První příkaz použije k vytvoření zabezpečeného řetězce parametr AsSecureString rutiny Read-Host. Po zadání příkazu se všechny znaky, které zadáte, převedou na zabezpečený řetězec a uloží se do proměnné $Secure.

Druhý příkaz zobrazí obsah proměnné $Secure. Vzhledem k tomu, že proměnná $Secure obsahuje zabezpečený řetězec, zobrazí Windows PowerShell pouze typ System.Security.SecureString.

Třetí příkaz používá rutinu ConvertFrom-SecureString k převodu zabezpečeného řetězce v proměnné $Secure na šifrovaný standardní řetězec. Uloží výsledek do proměnné $Encrypted.

Čtvrtý příkaz zobrazí šifrovaný řetězec v hodnotě $Encrypted proměnné.

Pátý příkaz používá rutinu ConvertTo-SecureString k převodu šifrovaného standardního řetězce v proměnné $Encrypted zpět na zabezpečený řetězec. Uloží výsledek do proměnné $Secure 2. Šestý příkaz zobrazí hodnotu proměnné $Secure 2. Typ SecureString označuje, že příkaz byl úspěšný.

Příklad 2: Vytvoření zabezpečeného řetězce z šifrovaného řetězce v souboru

PS C:\> $Secure = Read-Host -AsSecureString
PS C:\> $Encrypted = ConvertFrom-SecureString -SecureString $Secure -Key (1..16)
PS C:\> $Encrypted | Set-Content Encrypted.txt
PS C:\> $Secure2 = Get-Content Encrypted.txt | ConvertTo-SecureString -Key (1..16)

Tento příklad ukazuje, jak vytvořit zabezpečený řetězec z šifrovaného standardního řetězce uloženého v souboru.

První příkaz použije k vytvoření zabezpečeného řetězce parametr AsSecureString rutiny Read-Host. Po zadání příkazu se všechny znaky, které zadáte, převedou na zabezpečený řetězec a uloží se do proměnné $Secure.

Druhý příkaz pomocí rutiny ConvertFrom-SecureString převede zabezpečený řetězec v proměnné $Secure na šifrovaný standardní řetězec pomocí zadaného klíče. Obsah se uloží do proměnné $Encrypted.

Třetí příkaz pomocí operátoru kanálu (|) odešle hodnotu proměnné $Encrypted do rutiny Set-Content, která uloží hodnotu do souboru Encrypted.txt.

Čtvrtý příkaz používá rutinu Get-Content k získání šifrovaného standardního řetězce v souboru Encrypted.txt. Příkaz pomocí operátoru kanálu odešle šifrovaný řetězec do rutiny ConvertTo-SecureString, která ho převede na zabezpečený řetězec pomocí zadaného klíče. Výsledky se uloží do proměnné $Secure 2.

Příklad 3: Převedení řetězce prostého textu na zabezpečený řetězec

PS C:\> $Secure_String_Pwd = ConvertTo-SecureString "P@ssW0rD!" -AsPlainText -Force

Tento příkaz převede řetězec prostého textu P@ssW0rD! do zabezpečeného řetězce a uloží výsledek do proměnné $Secure_String_Pwd. Pokud chcete použít parametr AsPlainText, musí být do příkazu zahrnutý také parametr Force.

Parametry

-AsPlainText

Určuje řetězec ve formátu prostého textu, který se má převést na zabezpečený řetězec. Rutiny zabezpečených řetězců pomáhají chránit důvěrný text. Text je zašifrovaný pro ochranu osobních údajů a po použití se odstraní z paměti počítače. Pokud tento parametr použijete k zadání prostého textu jako vstupu, systém nemůže tento vstup tímto způsobem chránit. Pokud chcete tento parametr použít, musíte také zadat parametr Force.

Typ:SwitchParameter
Position:1
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-Force

Potvrzuje, že rozumíte důsledkům použití parametru AsPlainText a přesto ho chcete použít.

Typ:SwitchParameter
Position:2
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-Key

Určuje šifrovací klíč, který se má použít při převodu zabezpečeného řetězce na šifrovaný standardní řetězec. Platné délky klíčů jsou 16, 24 a 32 bajtů.

Typ:Byte[]
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-SecureKey

Určuje šifrovací klíč, který se má použít při převodu zabezpečeného řetězce na šifrovaný standardní řetězec. Klíč musí být zadaný ve formátu zabezpečeného řetězce. Zabezpečený řetězec se před použitím jako klíč převede na bajtové pole. Platné délky klíčů jsou 16, 24 a 32 bajtů.

Typ:SecureString
Position:1
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-String

Určuje řetězec, který se má převést na zabezpečený řetězec.

Typ:String
Position:0
Default value:None
Vyžadováno:True
Přijmout vstup kanálu:True
Přijmout zástupné znaky:False

Vstupy

String

Standardní šifrovaný řetězec můžete směrovat na ConvertTo-SecureString.

Výstupy

SecureString

ConvertTo-SecureString vrátí objekt SecureString.