将安全字符串转换为加密的标准字符串。
语法
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 变量中的密钥将安全字符串转换为加密的标准字符串。
另请参阅