將安全性字串轉換成標準加密字串。

語法

ConvertFrom-SecureString [-Key <Byte[]>] [-SecureString] <SecureString> [<CommonParameters>]

ConvertFrom-SecureString [[-SecureKey] <SecureString>] [-SecureString] <SecureString> [<CommonParameters>]

描述

ConvertFrom-SecureString Cmdlet 會將安全字串 (System.Security.SecureString) 轉換成標準加密字串 (System.String)。與安全字串不同,標準加密字串可以儲存在檔案中,以便日後使用。您可以使用 ConvertTo-SecureString Cmdlet,將標準加密字串轉換回安全字串格式。如果使用 Key 或 SecureKey 參數指定加密金鑰,則會採用 Rijndael 加密演算法。指定金鑰的長度必須是 128、192 或 256 位元,因為這些是 Rijndael 加密演算法所支援的金鑰長度。如果沒有指定金鑰,則會使用 Windows 資料保護 API (DPAPI) 來加密標準字串表示。

參數

-Key <Byte[]>

指定加密金鑰做為位元組陣列。

必要?

false

位置?

named

預設值

接受管線輸入?

false

接受萬用字元?

false

-SecureKey <SecureString>

指定加密金鑰做為安全性字串。安全性字串值會先轉換成位元組陣列再當作金鑰使用。

必要?

false

位置?

2

預設值

接受管線輸入?

false

接受萬用字元?

false

-SecureString <SecureString>

指定要轉換成標準加密字串的安全性字串。

必要?

true

位置?

1

預設值

接受管線輸入?

true (ByValue)

接受萬用字元?

false

<CommonParameters>

這個 Cmdlet 支援一般參數:-Verbose、-Debug、-ErrorAction、-ErrorVariable、-OutBuffer 和 -OutVariable。如需詳細資訊,請參閱 about_Commonparameters.

輸入和輸出

輸入型別是可經由管道輸出至 Cmdlet 的物件型別。傳回型別則是 Cmdlet 所傳回的物件型別。

輸入

System.Security.SecureString

您可經由管道將 SecureString 物件輸出至 ConvertFrom-SecureString。

輸出

System.String

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

附註

若要根據命令提示字元中輸入的字元建立安全字串,請使用 Read-Host Cmdlet 的 AsSecureString 參數。

當您使用 Key 或 SecureKey 參數指定金鑰時,金鑰長度必須是正確的。例如,可以將 128 位元的金鑰指定為 16 位數的位元組陣列。同樣地,192 位元和 256 位元金鑰會分別對應至 24 和 32 位數的位元組陣列。

範例 1

C:\PS>$securestring = read-host -assecurestring

描述
-----------
這個命令會根據您在命令提示字元中輸入的字元建立安全字串。輸入命令之後,請輸入您要儲存為安全性字串的字串。此時會顯示星號 (*) 來代表您輸入的每個字元。






範例 2

C:\PS>$standardstring = convertfrom-securestring  $securestring

描述
-----------
這個命令會將 $securestring 變數中的安全字串轉換成標準加密字串。產生的標準加密字串會儲存在 $standardstring 變數中。






範例 3

C:\PS>$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)

C:\PS> $standardstring = convertfrom-securestring  $securestring -key $key

描述
-----------
這些命令會使用 Rijndael 演算法,將 $securestring 變數中儲存的安全字串轉換成具有 192 位元金鑰的標準加密字串。產生的標準加密字串會儲存在 $standardstring 變數中。

第一個命令會將金鑰儲存在 $key 變數中。該金鑰是 24 位數的陣列,其中所有位數都小於 256。
 
因為每個位數都代表一個位元組 (8 位元),所以該金鑰的 24 位數總計為 192 位元 (8 x 24)。這是 Rijndael 演算法的有效金鑰長度。每個個別值都會小於 256,因為這是不帶正負號的位元組所能儲存的最大值。

第二個命令會使用 $key 變數中的金鑰,將安全字串轉換成標準加密字串。






請參閱




目錄