Ruby加密密码存储在配置文件中

时间:2012-08-29 16:47:27

标签: ruby rubygems

我正在寻找有关如何加密将存储在配置文件中的密码的建议,以便它不会以明文形式出现?在脚本读入密码后,我还需要一种解密密码的方法吗?脚本是一个简单的ftp脚本,配置文件将非常简单,包含主机和用户凭据。我使用yaml作为配置文件。

host = 'ftp.someftp.com'
id = 'jdoe'
pw = 'encrypted password'

如果有人能指出我正确的方向,我会非常感激。必须有一个简单的方法来做到这一点,或者有一个宝石这样做。

由于 MM

2 个答案:

答案 0 :(得分:2)

查看OpenSSL库。寻找基于密码的加密方法,例如AES。您还需要一种在配置文件中将加密的二进制数据写为ASCII的方法。

警告:如果您可以对其进行加密,那么任何能够阅读该脚本的人也可以看到您是如何做到的,然后他们就可以对其进行解密。所以只要您保护密码不受偶然/意外查看的影响,这是可以的。

答案 1 :(得分:2)

对于加密,您还可以使用广泛使用且实用的bcrypt gem。确保您的系统上安装了bcrypt,否则gem将无法正常工作。

要查看其工作原理,请查看其自述文件,尤其是How to use bcrypt-ruby in general部分。

相关问题