我正在寻找有关如何加密将存储在配置文件中的密码以使其不是明文的建议?在脚本读入密码后,我还需要一种方法来解密密码吗?脚本是一个简单的 ftp 脚本,配置文件非常简单,包含主机和用户凭据。我正在使用 yaml 作为配置文件。
host = 'ftp.someftp.com'
id = 'jdoe'
pw = 'encrypted password'
如果有人能指出我正确的方向,我将不胜感激。必须有一种简单的方法可以做到这一点,或者有一个宝石可以做到这一点。
谢谢MM
查看OpenSSL库。寻找基于密码的加密方法,例如 AES。您还需要一种在配置文件中将加密的二进制数据写入 ASCII 的方法。
警告:如果你可以加密它,任何可以阅读脚本的人也可以看到你是如何做到的,然后他们可以解密它。因此,只要您保护密码不被随意/意外查看,就可以了。
对于加密,您还可以使用广泛使用且实用的bcrypt gem 。确保在系统上安装了 bcrypt,否则 gem 将无法工作。
要了解它是如何工作的,请查看它的自述文件,尤其是如何在一般部分中使用 bcrypt-ruby。