将安全字符串转换为加密的标准字符串。

语法

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,256 是无符号字节中可存储的最大值。

第二个命令使用 $key 变量中的密钥将安全字符串转换为加密的标准字符串。






另请参阅




目录