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 pomocí rutiny převést zpět do zabezpečeného ConvertTo-SecureString formátu řetězce.

Pokud je šifrovací klíč určen pomocí parametrů Klíč nebo SecureKey , 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 k šifrování standardní řetězcové reprezentace rozhraní API (DPAPI) windows Data Protection.

Poznámka:

Všimněte si, že obsah řetězce SecureString není pro systémy mimo Windows šifrovaný.

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 (*) představující 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 $SecureString proměnné na šifrovaný standardní řetězec. Výsledný šifrovaný standardní řetězec je uložen v $StandardString proměnné.

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 $SecureString v proměnné na šifrovaný standardní řetězec s 192bitovým klíčem. Výsledný šifrovaný standardní řetězec je uložen v $StandardString proměnné.

První příkaz uloží klíč do $Key proměnné. Klíč je matice 24 desetinných číslic, z nichž každá musí být menší než 256, aby se vešla do jednoho znaménka bez znaménka.

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 pomocí klíče v $Key proměnné převede zabezpečený řetězec 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é řetězce na dešifrovaný řetězec prostého textu jako výstup.

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

Objekt SecureString můžete připojit k této rutině.

Výstupy

String

Tato rutina vrátí vytvořený řetězec prostého textu.

Poznámky

  • K vytvoření zabezpečeného řetězce 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.