我有一个连接到MySQL数据库的powershell脚本 - 当然这个连接需要密码,我想以某种方式加密密码,而不是将密码存储为纯文本。
我已经查看了securestring方法,将密码输出到文件中,但我不认为它们会起作用,因为加密的密码只能由原始用户解密,并且脚本将分发到整个网络的机器数量。
对任何其他方法有用的建议吗?
由于
答案 0 :(得分:4)
如果要将脚本分发到网络上的许多计算机上,那么这些用户将可以访问您的脚本将要使用的每个凭据,而且无法绕过它。
如果有任何私人的每用户数据,您可以做两件事:
如果所有数据都是公开的和只读的,那么您可以:
对于每个具有MySQL安全历史记录的数据库,通常建议使用这些选项中的每一个的第2个,但是对于像CouchDB这样的数据库,建议使用这两个选项中的第1个。
切勿使用您不希望用户使用的程序分发任何凭据。
答案 1 :(得分:0)
我已使用此PowerShell库http://lunaticexperiments.wordpress.com/2009/10/23/powershell-string-encryption-and-gpg/加密Oracle和Informix密码。
这是一个例子
#Source Encryption Functions
. ./Library-StringCrypto.ps1
#encrypt string using passphrase
$encrypt = Write-EncryptedString $connString "4#&7yaoff"
#Show encrypted string
$encrypt
#Decrypt string
Read-EncryptedString $encrypt "4#&7yaoff"