Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 在RubyonRails上寻找在文本文件中加密密码的方法_Sql_Ruby On Rails_Ruby_Encryption - Fatal编程技术网

Sql 在RubyonRails上寻找在文本文件中加密密码的方法

Sql 在RubyonRails上寻找在文本文件中加密密码的方法,sql,ruby-on-rails,ruby,encryption,Sql,Ruby On Rails,Ruby,Encryption,我正在寻找一种方法来加密ruby on rails应用程序中database.yml文件中显示的数据库密码,有什么办法吗? 大概是这样的: development: adapter: sqlserver mode: dblib database: db name host: host port: xxxx username: teste password: encryptedpass 您可以使用环境变量 development: adapter: sqlserv

我正在寻找一种方法来加密ruby on rails应用程序中database.yml文件中显示的数据库密码,有什么办法吗? 大概是这样的:

development:
  adapter: sqlserver
  mode: dblib
  database: db name
  host: host
  port: xxxx
  username: teste
  password: encryptedpass

您可以使用
环境变量

development:
  adapter: sqlserver
  mode: dblib
  database: db name
  host: host
  port: xxxx
  username: <%= ENV['DATABASE_USERNAME'] %>
  password: <%= ENV['DATABASE_PASS'] %>
开发:
适配器:sqlserver
模式:dblib
数据库:数据库名称
主持人:主持人
港口:xxxx
用户名:
密码:
如果你需要管理大量的环境变量,有一个很好的gem,你可以用它向你的应用程序添加加密的秘密。它使用公钥/私钥对,允许您加密机密,以便只有您的部署环境才能读取它们

生成密钥后,将纯文本字符串放入
secrets.production.ejson
文件,然后运行
ejson encrypt
,这将加密所有未加密的值。然后可以安全地将结果添加到源代码管理中


然后,您可以加载ejson文件并通过
ENV
使其内容可用,并在YAML文件中使用
key:
读取解密的值。

如何?你能给我链接一个toturial吗?如果你的Rails应用程序遵循最佳实践,并且你没有可以作为静态文件使用的文件,而且服务器是安全的,那么就不需要加密它。在某种程度上,我们必须信任系统的管理和安全性,否则您将陷入一个兔子洞,试图处理所有可能的问题。