Share via


ConvertFrom-SecureString

Konvertiert eine sichere Zeichenfolge in eine verschlüsselte Standardzeichenfolge.

Syntax

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

Beschreibung

Das ConvertFrom-SecureString Cmdlet konvertiert eine sichere Zeichenfolge (System.Security.SecureString) in eine verschlüsselte Standardzeichenfolge (System.String). Im Gegensatz zu einer sicheren Zeichenfolge kann eine verschlüsselte Standardzeichenfolge zur späteren Verwendung in einer Datei gespeichert werden. Die verschlüsselte Standardzeichenfolge kann mithilfe des Cmdlets wieder in ihr sicheres ConvertTo-SecureString Zeichenfolgenformat konvertiert werden.

Wenn ein Verschlüsselungsschlüssel mithilfe des Key- oder SecureKey-Parameters angegeben wird, wird der AES (Advanced Encryption Standard)-Verschlüsselungsalgorithmus verwendet. Der angegebene Schlüssel muss eine Länge von 128, 192 oder 256 Bits haben, da dies die vom AES-Verschlüsselungsalgorithmus unterstützten Schlüssellängen sind. Wenn kein Schlüssel angegeben ist, wird Windows Data Protection API (DPAPI) zum Verschlüsseln der Standardzeichenfolgendarstellung verwendet.

Hinweis

Beachten Sie, dass der Inhalt eines SecureString-Elements pro DotNet auf Nicht-Windows-Systemen nicht verschlüsselt wird.

Beispiele

Beispiel 1: Create einer sicheren Zeichenfolge

$SecureString = Read-Host -AsSecureString

Dieser Befehl erstellt eine sichere Zeichenfolge aus Zeichen, die Sie an der Eingabeaufforderung eingeben. Geben Sie nach Eingabe des Befehls die Zeichenfolge ein, die Sie als sichere Zeichenfolge speichern möchten. Ein Sternchen (*) wird angezeigt, um jedes von Ihnen eingegebene Zeichen darzustellen.

Beispiel 2: Konvertieren einer sicheren Zeichenfolge in eine verschlüsselte Standardzeichenfolge

$StandardString = ConvertFrom-SecureString $SecureString

Dieser Befehl konvertiert die sichere Zeichenfolge in der $SecureString Variablen in eine verschlüsselte Standardzeichenfolge. Die resultierende verschlüsselte Standardzeichenfolge wird in der $StandardString Variablen gespeichert.

Beispiel 3: Konvertieren einer sicheren Zeichenfolge in eine verschlüsselte Standardzeichenfolge mit einem 192-Bit-Schlüssel

$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

Diese Befehle verwenden den AES-Algorithmus (Advanced Encryption Standard), um die in der $SecureString Variablen gespeicherte sichere Zeichenfolge in eine verschlüsselte Standardzeichenfolge mit einem 192-Bit-Schlüssel zu konvertieren. Die resultierende verschlüsselte Standardzeichenfolge wird in der $StandardString Variablen gespeichert.

Der erste Befehl speichert einen Schlüssel in der $Key Variablen. Der Schlüssel ist ein Array von 24 Dezimalziffern, von denen jedes kleiner als 256 sein muss, um in ein einzelnes byte ohne Vorzeichen zu passen.

Da jede Dezimalzahl ein einzelnes Byte (8 Bits) darstellt, hat der Schlüssel 24 Ziffern für insgesamt 192 Bits (8 x 24). Dies ist eine gültige Schlüssellänge für den AES-Algorithmus.

Der zweite Befehl verwendet den Schlüssel in der $Key Variablen, um die sichere Zeichenfolge in eine verschlüsselte Standardzeichenfolge zu konvertieren.

Beispiel 4: Direktes Konvertieren einer sicheren Zeichenfolge in eine Klartextzeichenfolge

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

Parameter

-AsPlainText

Wenn festgelegt, ConvertFrom-SecureString konvertiert sichere Zeichenfolgen als Ausgabe in die entschlüsselte Klartextzeichenfolge.

Dieser Parameter wurde in PowerShell 7.0 hinzugefügt.

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

-Key

Gibt den Verschlüsselungsschlüssel als Bytearray an.

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

-SecureKey

Gibt den Verschlüsselungsschlüssel als sichere Zeichenfolge an. Der Wert der sicheren Zeichenfolge wird in ein Bytearray konvertiert, bevor er als Schlüssel verwendet wird.

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

-SecureString

Gibt die sichere Zeichenfolge an, die in eine verschlüsselte Standardzeichenfolge konvertiert werden soll.

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

Eingaben

SecureString

Sie können ein SecureString-Objekt an ConvertFrom-SecureString übergeben.

Ausgaben

String

ConvertFrom-SecureString gibt ein Standardzeichenfolgenobjekt zurück.

Hinweise

  • Verwenden Sie den AsSecureString-Parameter des Read-Host Cmdlets, um eine sichere Zeichenfolge aus Zeichen zu erstellen, die an der Eingabeaufforderung eingegeben werden.
  • Wenn Sie die Parameter Key oder SecureKey verwenden, um einen Schlüssel anzugeben, muss die Schlüssellänge korrekt sein. Beispielsweise kann ein Schlüssel von 128 Bits als Bytearray mit 16 Dezimalzahlen angegeben werden. Entsprechend entsprechen 192-Bit- und 256-Bit-Schlüsseln Bytearrays von 24 bzw. 32 Dezimalziffern.
  • Einige Zeichen, z. B. Emoticons, entsprechen mehreren Codepunkten in der Zeichenfolge, die sie enthält. Vermeiden Sie die Verwendung dieser Zeichen, da sie probleme und Missverständnisse verursachen können, wenn sie in einem Kennwort verwendet werden.