Dela via


ConvertFrom-SecureString

Konverterar en säker sträng till en krypterad standardsträng.

Syntax

ConvertFrom-SecureString
                [-SecureString] <SecureString>
                [[-SecureKey] <SecureString>]
                [<CommonParameters>]
ConvertFrom-SecureString
                [-SecureString] <SecureString>
                [-AsPlainText]
                [<CommonParameters>]
ConvertFrom-SecureString
                [-SecureString] <SecureString>
                [-Key <Byte[]>]
                [<CommonParameters>]

Description

Cmdleten ConvertFrom-SecureString konverterar en säker sträng (System.Security.SecureString) till en krypterad standardsträng (System.String). Till skillnad från en säker sträng kan en krypterad standardsträng sparas i en fil för senare användning. Den krypterade standardsträngen kan konverteras tillbaka till sitt säkra strängformat med hjälp av cmdleten ConvertTo-SecureString.

Om en krypteringsnyckel anges med hjälp av parametrarna Key eller SecureKey används AES-krypteringsalgoritmen (Advanced Encryption Standard). Den angivna nyckeln måste ha en längd på 128, 192 eller 256 bitar eftersom det är de nyckellängder som stöds av AES-krypteringsalgoritmen. Om ingen nyckel anges används Windows Data Protection API (DPAPI) för att kryptera standardsträngrepresentationen.

Not

Observera att innehållet i en SecureString per DotNetinte krypteras på andra system än Windows.

Exempel

Exempel 1: Skapa en säker sträng

$SecureString = Read-Host -AsSecureString

Det här kommandot skapar en säker sträng från tecken som du skriver i kommandotolken. När du har angett kommandot skriver du strängen som du vill lagra som en säker sträng. En asterisk (*) visas för att representera varje tecken som du skriver.

Exempel 2: Konvertera en säker sträng till en krypterad standardsträng

$StandardString = ConvertFrom-SecureString $SecureString

Det här kommandot konverterar den säkra strängen i variabeln $SecureString till en krypterad standardsträng. Den resulterande krypterade standardsträngen lagras i variabeln $StandardString.

Exempel 3: Konvertera en säker sträng till en krypterad standardsträng med en 192-bitarsnyckel

$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

Dessa kommandon använder AES-algoritmen (Advanced Encryption Standard) för att konvertera den säkra strängen som lagras i variabeln $SecureString till en krypterad standardsträng med en 192-bitarsnyckel. Den resulterande krypterade standardsträngen lagras i variabeln $StandardString.

Det första kommandot lagrar en nyckel i variabeln $Key. Nyckeln är en matris med 24 decimaltal, som var och en måste vara mindre än 256 för att få plats inom en enda osignerad byte.

Eftersom varje decimaltal representerar en enskild byte (8 bitar) har nyckeln 24 siffror för totalt 192 bitar (8 x 24). Det här är en giltig nyckellängd för AES-algoritmen.

Det andra kommandot använder nyckeln i variabeln $Key för att konvertera den säkra strängen till en krypterad standardsträng.

Exempel 4: Konvertera en säker sträng direkt till en klartextsträng

$secureString = ConvertTo-SecureString -String 'Example' -AsPlainText
$secureString # 'System.Security.SecureString'
ConvertFrom-SecureString -SecureString $secureString -AsPlainText # 'Example'

Parametrar

-AsPlainText

När den är inställd konverterar ConvertFrom-SecureString säkra strängar till den dekrypterade klartextsträngen som utdata.

Den här parametern lades till i PowerShell 7.0.

Typ:SwitchParameter
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-Key

Anger krypteringsnyckeln som en bytematris.

Typ:Byte[]
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-SecureKey

Anger krypteringsnyckeln som en säker sträng. Värdet för säker sträng konverteras till en bytematris innan det används som nyckel.

Typ:SecureString
Position:1
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-SecureString

Anger den säkra sträng som ska konverteras till en krypterad standardsträng.

Typ:SecureString
Position:0
Standardvärde:None
Obligatorisk:True
Godkänn pipeline-indata:True
Godkänn jokertecken:False

Indata

SecureString

Du kan skicka ett SecureString- objekt till den här cmdleten.

Utdata

String

Den här cmdleten returnerar den skapade oformaterade textsträngen.

Kommentarer

  • Om du vill skapa en säker sträng från tecken som skrivs i kommandotolken använder du parametern AsSecureString i cmdleten Read-Host.
  • När du använder parametrarna Key eller SecureKey för att ange en nyckel måste nyckellängden vara korrekt. Till exempel kan en nyckel på 128 bitar anges som en bytematris med 16 decimaltal. På samma sätt motsvarar 192-bitars- och 256-bitarsnycklar bytematriser med 24 respektive 32 decimaltal.
  • Vissa tecken, till exempel uttryckssymboler, motsvarar flera kodpunkter i strängen som innehåller dem. Undvik att använda dessa tecken eftersom de kan orsaka problem och missförstånd när de används i ett lösenord.