加密PowerShell密码

我有一个连接到MySQL数据库的PowerShell脚本 - 当然,这个连接需要密码,我想以某种方式加密密码,而不是将密码存储为纯文本。

我已经研究了securestring方法,将密码输出到一个文件中,但是我不认为它们可以工作,因为加密的密码只能由原始用户解密,脚本将分发到多台机器上通过网络。

任何有用的其他方法的建议?

谢谢


如果脚本将要分发到整个网络上的许多机器上,那么脚本将要使用的每个凭证都将被这些用户访问,并且没有办法绕过它。

如果有任何私人每个用户的数据,你可以做两件事:

  • 在数据库中为您的程序的每个用户创建一个新的用户帐户,并使用限制性权限,只允许他们执行您希望他们执行的操作,
  • 有一个代理服务器来验证它们并以他们的名字连接到数据库(这是大多数网站的工作原理)
  • 如果所有数据都是公开的并且是只读的,那么您可以:

  • 在数据库中创建用户帐户以进行只读访问,并在您的程序的所有分发副本中使用其凭证
  • 有一个代理服务器不会对用户进行身份验证,但会连接到数据库而不是公开
  • 对于每个具有MySQL安全历史记录的数据库,通常建议使用这些选项中的每个选项的第2个数字,但对于像CouchDB这样的数据库,建议使用这两个选项中的第一个。

    切勿向您的程序分发您不希望用户使用的任何凭证。


    我已经使用这个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"
    
    链接地址: http://www.djcxy.com/p/51545.html

    上一篇: Encrypting powershell passwords

    下一篇: How do I use DateTime.TryParse() for non