Delen via


ConvertFrom-SecureString

Converteert een beveiligde tekenreeks naar een versleutelde standaardtekenreeks.

Syntax

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

Description

De ConvertFrom-SecureString cmdlet converteert een beveiligde tekenreeks (System.Security.SecureString) naar een versleutelde standaardtekenreeks (System.String). In tegenstelling tot een beveiligde tekenreeks kan een versleutelde standaardtekenreeks worden opgeslagen in een bestand voor later gebruik. De versleutelde standaardtekenreeks kan worden geconverteerd naar de beveiligde tekenreeksindeling met behulp van de ConvertTo-SecureString cmdlet.

Als een versleutelingssleutel wordt opgegeven met behulp van de sleutel - of SecureKey-parameters , wordt het AES-versleutelingsalgoritmen (Advanced Encryption Standard) gebruikt. De opgegeven sleutel moet een lengte hebben van 128, 192 of 256 bits, omdat dit de sleutellengten zijn die worden ondersteund door het AES-versleutelingsalgoritmen. Als er geen sleutel is opgegeven, wordt de Windows Data Protection-API (DPAPI) gebruikt om de standaardtekenreeksweergave te versleutelen.

Notitie

Houd er rekening mee dat per DotNet de inhoud van een SecureString niet is versleuteld op niet-Windows-systemen.

Voorbeelden

Voorbeeld 1: een beveiligde tekenreeks Creatie

$SecureString = Read-Host -AsSecureString

Met deze opdracht maakt u een beveiligde tekenreeks van tekens die u typt bij de opdrachtprompt. Nadat u de opdracht hebt ingevoerd, typt u de tekenreeks die u wilt opslaan als een beveiligde tekenreeks. Er wordt een sterretje (*) weergegeven om elk teken aan te geven dat u typt.

Voorbeeld 2: een beveiligde tekenreeks converteren naar een versleutelde standaardtekenreeks

$StandardString = ConvertFrom-SecureString $SecureString

Met deze opdracht wordt de beveiligde tekenreeks in de $SecureString variabele geconverteerd naar een versleutelde standaardtekenreeks. De resulterende versleutelde standaardtekenreeks wordt opgeslagen in de $StandardString variabele.

Voorbeeld 3: een beveiligde tekenreeks converteren naar een versleutelde standaardtekenreeks met een 192-bits sleutel

$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

Deze opdrachten gebruiken het AES-algoritme (Advanced Encryption Standard) om de beveiligde tekenreeks die is opgeslagen in de $SecureString variabele te converteren naar een versleutelde standaardtekenreeks met een 192-bits sleutel. De resulterende versleutelde standaardtekenreeks wordt opgeslagen in de $StandardString variabele.

Met de eerste opdracht wordt een sleutel in de $Key variabele opgeslagen. De sleutel is een matrix van 24 decimale cijfers, die elk kleiner moeten zijn dan 256 om binnen één niet-ondertekende byte te passen.

Omdat elk decimaal getal één byte (8 bits) vertegenwoordigt, heeft de sleutel 24 cijfers voor een totaal van 192 bits (8 x 24). Dit is een geldige sleutellengte voor het AES-algoritme.

De tweede opdracht gebruikt de sleutel in de $Key variabele om de beveiligde tekenreeks te converteren naar een versleutelde standaardtekenreeks.

Voorbeeld 4: een beveiligde tekenreeks rechtstreeks converteren naar een tekenreeks zonder opmaak

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

Parameters

-AsPlainText

Indien ingesteld, ConvertFrom-SecureString converteert beveiligde tekenreeksen naar de ontsleutelde tekenreeks zonder tekst als uitvoer.

Deze parameter is toegevoegd in PowerShell 7.0.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Key

Hiermee geeft u de versleutelingssleutel op als een bytematrix.

Type:Byte[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SecureKey

Hiermee geeft u de versleutelingssleutel op als een beveiligde tekenreeks. De waarde van de beveiligde tekenreeks wordt geconverteerd naar een bytematrix voordat deze als sleutel wordt gebruikt.

Type:SecureString
Position:1
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SecureString

Hiermee geeft u de beveiligde tekenreeks te converteren naar een versleutelde standaardtekenreeks.

Type:SecureString
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

Invoerwaarden

SecureString

U kunt een SecureString-object doorsnijden naar deze cmdlet.

Uitvoerwaarden

String

Deze cmdlet retourneert de tekenreeks voor tekst zonder opmaak.

Notities

  • Als u een beveiligde tekenreeks wilt maken van tekens die worden getypt bij de opdrachtprompt, gebruikt u de parameter AsSecureString van de Read-Host cmdlet.
  • Wanneer u de parameters Key of SecureKey gebruikt om een sleutel op te geven, moet de lengte van de sleutel juist zijn. Een sleutel van 128 bits kan bijvoorbeeld worden opgegeven als een bytematrix van 16 decimale cijfers. Op dezelfde manier komen 192-bits en 256-bits sleutels overeen met bytematrices van respectievelijk 24 en 32 decimale cijfers.
  • Sommige tekens, zoals emoticons, komen overeen met verschillende codepunten in de tekenreeks die ze bevat. Vermijd het gebruik van deze tekens, omdat ze problemen en misverstanden kunnen veroorzaken wanneer ze in een wachtwoord worden gebruikt.