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 parameters Sleutel of SecureKey , 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 de inhoud van een SecureString per DotNet niet is versleuteld op niet-Windows-systemen.

Voorbeelden

Voorbeeld 1: Een beveiligde tekenreeks maken

$SecureString = Read-Host -AsSecureString

Met deze opdracht maakt u een beveiligde tekenreeks op basis van tekens die u bij de opdrachtprompt typt. 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 weer 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 in de $SecureString variabele is opgeslagen, 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 opgeslagen in de $Key variabele. De sleutel is een matrix van 24 decimale cijfers, die elk kleiner dan 256 moeten zijn 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

Als deze optie is ingesteld, ConvertFrom-SecureString worden beveiligde tekenreeksen geconverteerd naar de ontsleutelde tekenreeks zonder opmaak 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 die moet worden geconverteerd 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 doorsluisen naar deze cmdlet.

Uitvoerwaarden

String

Deze cmdlet retourneert de gemaakte tekenreeks voor tekst zonder opmaak.

Notities

  • Als u een beveiligde tekenreeks wilt maken op basis van tekens die bij de opdrachtprompt zijn getypt, gebruikt u de parameter AsSecureString van de Read-Host cmdlet.
  • Wanneer u de sleutel- of SecureKey-parameters gebruikt om een sleutel op te geven, moet de sleutellengte 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 bij gebruik in een wachtwoord.