【发布时间】:2017-05-11 01:39:29
【问题描述】:
我有一些参数存储在本地硬盘上的加密文本文件中。这些参数必须保密。
如何从文件中读取/解密参数并将它们传递给powershell函数,以使变量永远不会以纯文本形式公开/?
我想使用安全字符串,但如何将它们传递给 powershell 函数?这个我试过了:
function Create-Securestring
{
$my_secure_password = convertto-securestring "password" -asplaintext -force
return $my_secure_password
}
function Accept-Securestring
{
param($secure)
$cast = [string]$secure ## maybe cast works?
$test = "$cast test string"
if ($secure -eq "password"){ write "works fine" }
return $test
}
$secure = Create-Securestring
$test = Accept-Securestring $secure
$test # -> System.Security.SecureString test string
我在这里给出了一个外部文件的例子,但是任何如上所述的存储和使用秘密数据的方法都是可以接受的。
【问题讨论】:
-
您希望如何在不解密的情况下处理数据?如果您不使用它:为什么还要首先加载它?
-
是的,解密并转换为安全字符串。
-
在文件中存储(和恢复)
SecureString值的大量示例在线(以及在此站点上)存在。这里的实际问题是什么?你有什么问题? -
数据是如何加密的?此外,您确实意识到安全字符串 aren't as secure as one would expect,不是吗?
-
当然您可以将
SecureString对象传递给PowerShell 函数。如果它不适合您:请显示您的代码和您遇到的任何错误。
标签: powershell encryption