ConvertFrom-SecureString
セキュリティで保護された文字列を暗号化された標準文字列に変換します。
構文
ConvertFrom-SecureString
[-SecureString] <SecureString>
[[-SecureKey] <SecureString>]
[<CommonParameters>]
ConvertFrom-SecureString
[-SecureString] <SecureString>
[-AsPlainText]
[<CommonParameters>]
ConvertFrom-SecureString
[-SecureString] <SecureString>
[-Key <Byte[]>]
[<CommonParameters>]
説明
ConvertFrom-SecureString
コマンドレットは、セキュリティで保護された文字列 (System.Security.SecureString) を暗号化された標準文字列 (System.String) に変換します。 セキュリティで保護された文字列とは異なり、暗号化された標準文字列は後で使用するためにファイルに保存できます。 暗号化された標準文字列は、ConvertTo-SecureString
コマンドレットを使用して、セキュリティで保護された文字列形式に戻すことができます。
キー または SecureKey パラメーター 使用して暗号化キーを指定した場合は、Advanced Encryption Standard (AES) 暗号化アルゴリズムが使用されます。 指定したキーの長さは、AES 暗号化アルゴリズムでサポートされるキーの長さであるため、128 ビット、192 ビット、または 256 ビットである必要があります。 キーが指定されていない場合は、Windows Data Protection API (DPAPI) を使用して標準の文字列表現が暗号化されます。
手記
SecureString データ保護 の詳細については、「SecureString はどれほど安全か 」を参照してください。.
例
例 1: セキュリティで保護された文字列を作成する
$SecureString = Read-Host -AsSecureString
このコマンドは、コマンド プロンプトで入力した文字からセキュリティで保護された文字列を作成します。 コマンドを入力したら、セキュリティで保護された文字列として格納する文字列を入力します。 入力した各文字を表すアスタリスク (*
) が表示されます。
例 2: セキュリティで保護された文字列を暗号化された標準文字列に変換する
$StandardString = ConvertFrom-SecureString $SecureString
このコマンドは、$SecureString
変数内のセキュリティで保護された文字列を暗号化された標準文字列に変換します。 結果として得られる暗号化された標準文字列は、$StandardString
変数に格納されます。
例 3: 192 ビット キーを使用して、セキュリティで保護された文字列を暗号化された標準文字列に変換する
$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
これらのコマンドでは、Advanced Encryption Standard (AES) アルゴリズムを使用して、$SecureString
変数に格納されているセキュリティで保護された文字列を、192 ビット キーを持つ暗号化された標準文字列に変換します。 結果として得られる暗号化された標準文字列は、$StandardString
変数に格納されます。
最初のコマンドは、$Key
変数にキーを格納します。 キーは 24 桁の 10 進数の配列で、1 つの符号なしバイト内に収まるには、それぞれ 256 未満である必要があります。
各 10 進数は 1 バイト (8 ビット) を表しているため、キーには合計 192 ビット (8 x 24) の 24 桁の数字があります。 これは、AES アルゴリズムの有効なキー長です。
2 番目のコマンドでは、$Key
変数のキーを使用して、セキュリティで保護された文字列を暗号化された標準文字列に変換します。
例 4: セキュリティで保護された文字列をプレーンテキスト文字列に直接変換する
$secureString = ConvertTo-SecureString -String 'Example' -AsPlainText
$secureString # 'System.Security.SecureString'
ConvertFrom-SecureString -SecureString $secureString -AsPlainText # 'Example'
パラメーター
-AsPlainText
設定すると、ConvertFrom-SecureString
は、セキュリティで保護された文字列を暗号化解除されたプレーンテキスト文字列に出力として変換します。
このパラメーターは PowerShell 7.0 で追加されました。
型: | SwitchParameter |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Key
暗号化キーをバイト配列として指定します。
型: | Byte[] |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-SecureKey
暗号化キーをセキュリティで保護された文字列として指定します。 セキュリティで保護された文字列値は、キーとして使用される前にバイト配列に変換されます。
型: | SecureString |
配置: | 1 |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-SecureString
暗号化された標準文字列に変換するセキュリティで保護された文字列を指定します。
型: | SecureString |
配置: | 0 |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
入力
SecureString オブジェクトをこのコマンドレットにパイプできます。
出力
このコマンドレットは、作成されたプレーンテキスト文字列を返します。
メモ
- コマンド プロンプトで入力した文字からセキュリティで保護された文字列を作成するには、 コマンドレットの
Read-Host
パラメーターを使用します。 - キー または SecureKey パラメーター 使用してキーを指定する場合は、キーの長さが正しい必要があります。 たとえば、128 ビットのキーは、16 桁の 10 進数のバイト配列として指定できます。 同様に、192 ビットおよび 256 ビットのキーは、それぞれ 24 桁と 32 桁の 10 進数のバイト配列に対応します。
- 絵文字などの一部の文字は、それらを含む文字列内のいくつかのコード ポイントに対応します。 これらの文字は、パスワードで使用すると問題や誤解を引き起こす可能性があるため、使用しないでください。
関連リンク
PowerShell