我有一个连接到 MySQL 数据库的 powershell 脚本 - 当然这个连接需要密码,我想以某种方式加密密码,而不是将密码存储为纯文本。
我研究了 securestring 方法,将密码输出到文件中,但是我认为它们不会起作用,因为加密的密码只能由原始用户解密,并且脚本将分发到网络上的机器数量。
关于任何其他有用的方法有什么建议吗?
谢谢
最佳答案
如果脚本要通过网络分发到许多计算机上,那么这些用户将可以访问您的脚本将使用的每个凭据,并且没有办法绕过它。
如果有任何私有(private)的每用户数据,您可以执行以下两件事:
- 在数据库中为程序的每个用户创建一个新的用户帐户,并具有限制性权限,允许他们仅执行您希望他们执行的操作
- 拥有一个代理服务器,可以对他们进行身份验证并以他们的名义连接到数据库(这是大多数网站的工作方式)
如果所有数据都是公开且只读的,那么您可以:
- 在数据库中创建一个用户帐户以进行只读访问,并在程序的所有分布式副本中使用其凭据
- 拥有一个代理服务器,该服务器不会对用户进行身份验证,但会连接到数据库而不是向公众公开
对于具有 MySQL 安全历史记录的每个数据库,通常建议使用这些选项中的第 2 个选项,但对于 CouchDB 等数据库,建议使用这两个选项中的第 1 个选项。
切勿通过您的程序分发您不希望用户使用的任何凭据。
关于security - 加密 powershell 密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5313373/