Sdílet prostřednictvím


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

SecureString

Pomocí příkazu můžete předat objekt SecureString této rutině.

Výstupy

String

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.