ConvertFrom-SecureString
將安全字串轉換為加密的標準字串。
語法
ConvertFrom-SecureString
[-SecureString] <SecureString>
[[-SecureKey] <SecureString>]
[<CommonParameters>]
ConvertFrom-SecureString
[-SecureString] <SecureString>
[-Key <Byte[]>]
[<CommonParameters>]
Description
ConvertFrom-SecureString Cmdlet 會將安全字串(System.Security.SecureString)轉換成加密的標準字串(System.String)。 不同於安全字串,加密的標準字串可以儲存在檔案中以供日後使用。 您可以使用 ConvertTo-SecureString
Cmdlet,將加密的標準字串轉換為其安全字串格式。
如果使用 Key 或 SecureKey 參數來指定加密金鑰,則會使用進階加密標準 (AES) 加密演算法。 指定的金鑰長度必須為 128、192 或 256 位,因為這些是 AES 加密演演算法支援的金鑰長度。 如果未指定任何金鑰,則會使用 Windows 資料保護 API (DPAPI) 來加密標準字串表示法。
範例
範例 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
這些命令會使用進階加密標準 (AES) 演算法,將儲存在 $SecureString
變數中的安全字串轉換成具有192位金鑰的加密標準字串。 產生的加密標準字串會儲存在 $StandardString
變數中。
第一個命令會將索引鍵儲存在 $Key
變數中。 索引鍵是24個十進位數位的陣列,每個數字必須小於256,才能符合單一不帶正負號的位元組。
因為每個小數位都代表單一位元組(8 位),因此索引鍵總共有 24 位數,總計 192 位(8 x 24)。 這是 AES 演算法的有效金鑰長度。
第二個命令會使用 $Key
變數中的金鑰,將安全字串轉換成加密的標準字串。
參數
-Key
將加密金鑰指定為位元組陣列。
類型: | Byte[] |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-SecureKey
將加密金鑰指定為安全字串。 安全字串值會先轉換成位元組陣列,再當做索引鍵使用。
類型: | SecureString |
Position: | 1 |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-SecureString
指定要轉換成加密標準字串的安全字串。
類型: | SecureString |
Position: | 0 |
預設值: | None |
必要: | True |
接受管線輸入: | True |
接受萬用字元: | False |
輸入
您可以使用管線將 SecureString 物件傳送至 ConvertFrom-SecureString。
輸出
ConvertFrom-SecureString 會傳回標準字串物件。
備註
- 若要從命令提示字元建立安全字串,請使用
Read-Host
Cmdlet 的 AsSecureString 參數。 - 當您使用 金鑰 或 SecureKey 參數來指定金鑰時,金鑰長度必須正確。 例如,可以將128位的索引鍵指定為16個小數位的位元組陣列。 同樣地,192 位和 256 位索引鍵分別對應至 24 和 32 個小數位的位元組陣列。