gpt4 book ai didi

Ruby隐藏输入密码

转载 作者:太空宇宙 更新时间:2023-11-03 16:03:38 24 4
gpt4 key购买 nike

我写了一个 Ruby 脚本,试图连接到托管在 Heroku 上的 Postgres 数据库。

如果我使用硬编码密码,或者如果我使用 gets 加载密码,一切正常。但是,如果我使用 IO.noecho 加载密码,则会出现以下异常:

storing.rb:11:in `initialize': FATAL:  password authentication failed for user "***" (PG::ConnectionBad)
FATAL: no pg_hba.conf entry for host "****", user "***", database "***", SSL off
from storing.rb:11:in `new'
from storing.rb:11:in `create_conn'
from fetch_currencies.rb:11:in `<main>'

这是我的代码:

def create_conn(password)
conn = PGconn.connect(
:host => '***',
:port => 5432,
:dbname => '***',
:user => '***',
:password => password)
return conn
end

puts 'Postgres DB password:'
pass = STDIN.noecho(&:gets)
conn = create_conn(pass)

我尝试在加载后打印密码,并检查它是否是一个字符串,一切似乎都很好。可能是什么问题?

最佳答案

当然,问题是我没有 chomp 输入,所以我猜终止换行符也作为密码的一部分传递了。

正确的做法是然后

pass = STDIN.noecho(&:gets).chomp

关于Ruby隐藏输入密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19081307/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com