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
Du kan skicka ett SecureString- objekt till den här cmdleten.
Utdata
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.