Dela via


ConvertFrom-SecureString

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

Syntax

Secure (Standard)

ConvertFrom-SecureString
    [-SecureString] <SecureString>
    [[-SecureKey] <SecureString>]
    [<CommonParameters>]

AsPlainText

ConvertFrom-SecureString
    [-SecureString] <SecureString>
    [-AsPlainText]
    [<CommonParameters>]

Open

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.

Anmärkning

Mer information om SecureString dataskydd finns i Hur säker är SecureString?.

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.

Parameteregenskaper

Typ:SwitchParameter
Standardvärde:None
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

AsPlainText
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-Key

Anger krypteringsnyckeln som en bytematris.

Parameteregenskaper

Typ:

Byte[]

Standardvärde:None
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

Open
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument: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.

Parameteregenskaper

Typ:SecureString
Standardvärde:None
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

Secure
Position:1
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-SecureString

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

Parameteregenskaper

Typ:SecureString
Standardvärde:None
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

(All)
Position:0
Obligatorisk:True
Värde från pipeline:True
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

CommonParameters

Den här cmdleten stöder vanliga parametrar: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction och -WarningVariable. Mer information finns i about_CommonParameters.

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.