ConvertFrom-SecureString
Převede zabezpečený řetězec na šifrovaný standardní řetězec.
Syntaxe
ConvertFrom-SecureString
[-SecureString] <SecureString>
[[-SecureKey] <SecureString>]
[<CommonParameters>]
ConvertFrom-SecureString
[-SecureString] <SecureString>
[-AsPlainText]
[<CommonParameters>]
ConvertFrom-SecureString
[-SecureString] <SecureString>
[-Key <Byte[]>]
[<CommonParameters>]
Description
Rutina ConvertFrom-SecureString
převede zabezpečený řetězec (System.Security.SecureString) na šifrovaný standardní řetězec (System.String). Na rozdíl od zabezpečeného řetězce lze šifrovaný standardní řetězec uložit do souboru pro pozdější použití. Šifrovaný standardní řetězec lze převést zpět do zabezpečeného formátu řetězce pomocí rutiny ConvertTo-SecureString
.
Pokud je šifrovací klíč zadán pomocí Klíče nebo SecureKey parametry, použije se šifrovací algoritmus AES (Advanced Encryption Standard). Zadaný klíč musí mít délku 128, 192 nebo 256 bitů, protože to jsou délky klíčů podporované šifrovacím algoritmem AES. Pokud není zadaný žádný klíč, použije se rozhraní Windows Data Protection API (DPAPI) k šifrování standardní řetězcové reprezentace.
Poznámka
Další informace o ochraně dat SecureString najdete v tématu Jak zabezpečený je SecureString?.
Příklady
Příklad 1: Vytvoření zabezpečeného řetězce
$SecureString = Read-Host -AsSecureString
Tento příkaz vytvoří zabezpečený řetězec ze znaků, které zadáte na příkazovém řádku. Po zadání příkazu zadejte řetězec, který chcete uložit jako zabezpečený řetězec. Zobrazí se hvězdička (*
), která bude představovat každý znak, který zadáte.
Příklad 2: Převod zabezpečeného řetězce na šifrovaný standardní řetězec
$StandardString = ConvertFrom-SecureString $SecureString
Tento příkaz převede zabezpečený řetězec v proměnné $SecureString
na šifrovaný standardní řetězec. Výsledný šifrovaný standardní řetězec je uložen v proměnné $StandardString
.
Příklad 3: Převod zabezpečeného řetězce na šifrovaný standardní řetězec s 192bitovým klíčem
$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
Tyto příkazy používají algoritmus AES (Advanced Encryption Standard) k převodu zabezpečeného řetězce uloženého v proměnné $SecureString
na šifrovaný standardní řetězec s 192bitovým klíčem. Výsledný šifrovaný standardní řetězec je uložen v proměnné $StandardString
.
První příkaz uloží klíč do proměnné $Key
. Klíč je pole 24 desetinných čísel, z nichž každé musí být menší než 256, aby se vešlo do jednoho nepodepsaného bajtu.
Vzhledem k tomu, že každé desetinné číslo představuje jeden bajt (8 bitů), má klíč 24 číslic pro celkem 192 bitů (8 x 24). Toto je platná délka klíče pro algoritmuS AES.
Druhý příkaz používá klíč v proměnné $Key
k převodu zabezpečeného řetězce na šifrovaný standardní řetězec.
Příklad 4: Převedení zabezpečeného řetězce přímo na řetězec prostého textu
$secureString = ConvertTo-SecureString -String 'Example' -AsPlainText
$secureString # 'System.Security.SecureString'
ConvertFrom-SecureString -SecureString $secureString -AsPlainText # 'Example'
Parametry
-AsPlainText
Při nastavení ConvertFrom-SecureString
převede zabezpečené textové řetězce na dešifrovaný prostý text.
Tento parametr byl přidán v PowerShellu 7.0.
Typ: | SwitchParameter |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-Key
Určuje šifrovací klíč jako pole 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íč jako zabezpečený řetězec. Hodnota zabezpečeného řetězce se před použitím jako klíč převede na pole bajtů.
Typ: | SecureString |
Position: | 1 |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-SecureString
Určuje zabezpečený řetězec, který se má převést na šifrovaný standardní řetězec.
Typ: | SecureString |
Position: | 0 |
Default value: | None |
Vyžadováno: | True |
Přijmout vstup kanálu: | True |
Přijmout zástupné znaky: | False |
Vstupy
Pomocí příkazu můžete předat objekt SecureString této rutině.
Výstupy
Tato rutina vrátí vytvořený řetězec prostého textu.
Poznámky
- Pokud chcete vytvořit zabezpečený řetězec z znaků zadaných na příkazovém řádku, použijte parametr AsSecureString rutiny
Read-Host
. - Pokud k zadání klíče použijete parametry Key nebo SecureKey, musí být délka klíče správná. Například klíč 128 bitů lze zadat jako bajtovou matici s 16 desetinnými číslicemi. Podobně 192bitové a 256bitové klíče odpovídají bajtovým polím 24 a 32 desetinných číslic v uvedeném pořadí.
- Některé znaky, například emotikon, odpovídají několika bodům kódu v řetězci, který je obsahuje. Nepoužívejte tyto znaky, protože můžou způsobovat problémy a nedorozumění při použití v hesle.