ConvertFrom-SecureString
Konvertiert eine sichere Zeichenfolge in eine verschlüsselte Standardzeichenfolge.
Syntax
Secure (Standardwert)
ConvertFrom-SecureString
[-SecureString] <SecureString>
[[-SecureKey] <SecureString>]
[<CommonParameters>]
AsPlainText
ConvertFrom-SecureString
[-SecureString] <SecureString>
[-AsPlainText]
[<CommonParameters>]
Open
ConvertFrom-SecureString
[-SecureString] <SecureString>
[-Key <Byte[]>]
[<CommonParameters>]
Beschreibung
Das cmdlet ConvertFrom-SecureString 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 ConvertTo-SecureString wieder in das sichere Zeichenfolgenformat konvertiert werden.
Wenn ein Verschlüsselungsschlüssel mithilfe der parameter Key oder SecureKey angegeben wird, wird der AES-Verschlüsselungsalgorithmus (Advanced Encryption Standard) verwendet. Der angegebene Schlüssel muss eine Länge von 128, 192 oder 256 Bit aufweisen, da dies die Schlüssellängen sind, die vom AES-Verschlüsselungsalgorithmus unterstützt werden. Wenn kein Schlüssel angegeben wird, wird die Windows Data Protection-API (DPAPI) verwendet, um die Standardzeichenfolgendarstellung zu verschlüsseln.
Hinweis
Weitere Informationen zu SecureString Datenschutz finden Sie unter Wie sicher ist SecureString?.
Beispiele
Beispiel 1: Erstellen einer sicheren Zeichenfolge
$SecureString = Read-Host -AsSecureString
Mit diesem Befehl wird eine sichere Zeichenfolge aus Zeichen erstellt, die Sie an der Eingabeaufforderung eingeben. Geben Sie nach dem Eingeben 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
Mit diesem Befehl wird die sichere Zeichenfolge in der variablen $SecureString in eine verschlüsselte Standardzeichenfolge konvertiert. Die resultierende verschlüsselte Standardzeichenfolge wird in der variablen $StandardString 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 Variable gespeicherte sichere Zeichenfolge in eine verschlüsselte Standardzeichenfolge mit einem 192-Bit-Schlüssel zu konvertieren. Die resultierende verschlüsselte Standardzeichenfolge wird in der variablen $StandardString gespeichert.
Der erste Befehl speichert einen Schlüssel in der variablen $Key. Der Schlüssel ist ein Array von 24 Dezimalzahlen, von denen jeder kleiner als 256 sein muss, damit er in ein einzelnes nicht signiertes Byte passt.
Da jede Dezimalzahl ein einzelnes Byte (8 Bit) darstellt, weist der Schlüssel 24 Ziffern für insgesamt 192 Bits (8 x 24) auf. 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 Nur-Text-Zeichenfolge
$secureString = ConvertTo-SecureString -String 'Example' -AsPlainText
$secureString # 'System.Security.SecureString'
ConvertFrom-SecureString -SecureString $secureString -AsPlainText # 'Example'
Parameter
-AsPlainText
Wenn eingestellt, ConvertFrom-SecureString konvertiert sichere Zeichenketten in die entschlüsselte Klartextzeichenkette als Ausgabe.
Dieser Parameter wurde in PowerShell 7.0 hinzugefügt.
Parametereigenschaften
| Typ: | SwitchParameter |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
AsPlainText
| Position: | Named |
| Obligatorisch.: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-Key
Gibt den Verschlüsselungsschlüssel als Bytearray an.
Parametereigenschaften
| Typ: | Byte[] |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
Open
| Position: | Named |
| Obligatorisch.: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | 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.
Parametereigenschaften
| Typ: | SecureString |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
Secure
| Position: | 1 |
| Obligatorisch.: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-SecureString
Gibt die sichere Zeichenfolge an, die in eine verschlüsselte Standardzeichenfolge konvertiert werden soll.
Parametereigenschaften
| Typ: | SecureString |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | 0 |
| Obligatorisch.: | True |
| Wert aus Pipeline: | True |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
CommonParameters
Dieses Cmdlet unterstützt die allgemeinen Parameter -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction und -WarningVariable. Weitere Informationen findest du unter about_CommonParameters.
Eingaben
SecureString
Sie können eine SecureString Objekt an dieses Cmdlet übergeben.
Ausgaben
String
Dieses Cmdlet gibt die erstellte einfache Textzeichenfolge zurück.
Hinweise
- Um eine sichere Zeichenfolge aus Zeichen zu erstellen, die an der Eingabeaufforderung eingegeben werden, verwenden Sie den AsSecureString--Parameter des Cmdlets
Read-Host. - 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 Bit als Bytearray mit 16 Dezimalzahlen angegeben werden. Entsprechend entsprechen 192-Bit- und 256-Bit-Tasten Bytearrays von 24 bzw. 32 Dezimalzahlen.
- 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.