共用方式為


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

如果是使用 KeySecureKey 參數來指定加密金鑰,便會使用「進階加密標準」(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

您可以使用管線將 SecureString 物件傳送至 ConvertFrom-SecureString。

輸出

String

ConvertFrom-SecureString 會傳回標準字串物件。

備註

  • 若要從命令提示字元中輸入的字元建立安全字串,請使用 Cmdlet 的 Read-HostAsSecureString 參數。
  • 當您使用 KeySecureKey 參數來指定金鑰時,金鑰長度必須正確。 例如,可以將128位的索引鍵指定為16個小數位的位元組陣列。 同樣地,192 位和 256 位索引鍵分別對應至 24 和 32 個小數位的位元組陣列。