18

R中是否有办法以交互方式将密码输入命令行并将其隐藏在屏幕上?我知道有readLine,但我不知道密码可以隐藏在那里。假设您想使用ROracleor连接到数据库,RMySQL并且不想将密码存储在脚本中,而是让用户在每次执行查询时都输入密码。

是的,我们在这里有一个类似的问题,但我觉得情况已经改变,值得再次解决这个问题。不幸的是tcltk,不适用于 RStudio(服务器)。

但是,我看到 R Studio 的人们找到了支持版本控制的解决方案。我记得以前的版本,每次我在 R Studio 中输入我的 repo 密码时,我都可以看到它,但现在这似乎已经修复了。我知道这可能是 R Studio 技术,但是在使用 R Studio Server 时,普通 R 用户是否可以访问它?

4

1 回答 1

27

实际上 R Studio (Server) 提供了一个很好的解决方案。您可以使用.rs函数访问它。他们提供了一个无证密码功能,虽然没有保证永远和一天的支持,但它非常好:

.rs.askForPassword("foo")

您可以在这里找到 RStudio 的 Josh 的原始提示:http: //support.rstudio.org/help/discussions/questions/1448-password-interaction-with-dbs-on-rstudio-server

编辑:截至 2015 年,还有另一个很好的交互式输入密码的解决方案。您可以使用shiny带有密码表单的基于 Web 的小窗口。我与@hadley 的讨论显示了一个示例片段:https ://github.com/rstats-db/RPostgres/issues/26

编辑:截至 2017 年,还有另一个更新。@m-dz 向我们指出了这一点: rstudioapi::askForPassword("Enter your pw")以及getPass::getPass()来自R Studio 支持网页。另外,我还意识到有.rs.api.askForPassword()一个与最初建议的调用等效的方法——至少就我所见而言。

于 2013-04-30T15:47:14.160 回答