ConvertFrom-SecureString
將安全字串轉換成加密標準字串。
Syntax
ConvertFrom-SecureString
[-SecureString] <SecureString>
[[-SecureKey] <SecureString>]
[<CommonParameters>]
ConvertFrom-SecureString
[-SecureString] <SecureString>
[-Key <Byte[]>]
[<CommonParameters>]
Description
ConvertFrom-SecureString Cmdlet 會將安全字串 (System.Security.SecureString) 轉換成加密的標準字符串, (System.String) 。 與安全字串不同,加密標準字串可以儲存在檔案中供日後使用。 加密的標準字串可以使用 Cmdlet,轉換回其安全字串格式 ConvertTo-SecureString
。
如果是使用 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 位數, (8 x 24) 。 這是 AES 演算法的有效金鑰長度。
第二個命令會使用 變數中的 $Key
金鑰,將安全字串轉換成加密的標準字串。
參數
-Key
將加密金鑰指定為位元組陣列。
Type: | Byte[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-SecureKey
將加密金鑰指定為安全字串。 安全字串值在被當作金鑰使用之前,會先轉換成位元組陣列。
Type: | SecureString |
Position: | 1 |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-SecureString
指定要轉換成加密標準字串的安全字串。
Type: | SecureString |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
輸入
您可以使用管線將 SecureString 物件傳送至 ConvertFrom-SecureString。
輸出
ConvertFrom-SecureString 會傳回標準字串物件。
備註
- 若要從命令提示字元中輸入的字元建立安全字串,請使用 Cmdlet 的
Read-Host
AsSecureString 參數。 - 當您使用 Key 或 SecureKey 參數來指定金鑰時,金鑰長度必須正確。 例如,可以將128位的索引鍵指定為16個小數位的位元組陣列。 同樣地,192 位和 256 位索引鍵分別對應至 24 和 32 個小數位的位元組陣列。