假设我有一个字符串:
"password"
它可以是转换为文本的加密安全字符串的形式。可以通过以下方式解密此安全字符串文本ConvertFrom-SecureString
以恢复“密码”:
"1213132131....1232131" | ConvertFrom-SecureString |%{echo $_}
password
有没有办法让 powershell 告诉我输入的字符串是否已经解密?
或者我是否需要设计一些其他方法来判断输入字符串是纯文本还是加密为安全字符串?
假设我有一个字符串:
"password"
它可以是转换为文本的加密安全字符串的形式。可以通过以下方式解密此安全字符串文本ConvertFrom-SecureString
以恢复“密码”:
"1213132131....1232131" | ConvertFrom-SecureString |%{echo $_}
password
有没有办法让 powershell 告诉我输入的字符串是否已经解密?
或者我是否需要设计一些其他方法来判断输入字符串是纯文本还是加密为安全字符串?
警告:
[securestring]
在新项目中使用,因为它在类Unix平台上提供的保护很少,而在 Windows 上仅提供有限的保护。请参阅此 .NET 平台兼容性建议和此答案。您可以根据应用是否
ConvertTo-SecureString
成功来推断该字符串是否已加密:如果字符串被加密 - 即如果它是
[securestring]
通过 - 获得的实例的序列化形式ConvertFrom-SecureString
-$secureString
则分配反序列化形式(即[securestring]
实例)。请注意,通过安全意识的设计,
ConvertTo-SecureString
仅当给定的从输入序列化的字符串由同一用户帐户[securestring]
序列化时才有效。