当前位置: 首页 > 面试题库 >

隐藏命令行中的输入

季炯
2023-03-14
问题内容

我知道命令行界面(例如Git等)能够隐藏用户的输入(对于密码有用)。有没有办法用Java编程地做到这一点?我正在从用户那里输入密码,我希望他们的输入在该特定行(而不是所有用户)上被“隐藏”。这是我的代码(尽管我怀疑这会有所帮助…)

try (Scanner input = new Scanner(System.in)) {
  //I'm guessing it'd probably be some property you set on the scanner or System.in right here...
  System.out.print("Please input the password for " + name + ": ");
  password = input.nextLine();
}

问题答案:

尝试java.io.Console.readPassword。不过,您至少必须运行Java
6。

   /**
    * Reads a password or passphrase from the console with echoing disabled
    *
    * @throws IOError
    *         If an I/O error occurs.
    *
    * @return  A character array containing the password or passphrase read
    *          from the console, not including any line-termination characters,
    *          or <tt>null</tt> if an end of stream has been reached.
    */
    public char[] readPassword() {
        return readPassword("");
    }

请注意,这不适用于Eclipse控制台。您必须从
真实的 console / shell / terminal / prompt 运行程序才能进行测试。



 类似资料:
  • 我想让我的Bash脚本对最终用户来说更加优雅。当Bash执行命令时,如何隐藏输出? 例如,当Bash执行时 以下内容将显示给执行Bash的用户: 现在我想对用户隐藏这一点,而是显示: 我怎样才能完成这项任务?我一定会帮助使脚本更加用户友好。如果发生错误,则应向用户显示。 我想知道如何显示相同的消息,而一组命令正在执行。

  • 输入一个语句后按回车键,MATLAB自动在屏幕上显示结果,但如果该行命令是以";"结尾,则MATLAB仍会进行运算赋值,但不显示任何输出结果.这一点在生成复杂矩阵时特别有用.例如: A = magic(100);

  • 本文向大家介绍MySQL在Linux系统中隐藏命令行中的密码的方法,包括了MySQL在Linux系统中隐藏命令行中的密码的方法的使用技巧和注意事项,需要的朋友参考一下 在命令行中输入命令并不是一个好主意,会造成安全问题。但是如果你决定去写一个应用,而这个应用需要在命令行中使用密码或者其他敏感信息。那么,你能通过以下方法禁止系统的其他用户轻易的看到这些敏感数据 呢?,类似MySQL在ps命令下隐藏密

  • 编者按:这个问题是模棱两可的,因为它混淆了两个不相关的任务: (a)使用操作打印仅仅的文件名(没有路径组件),以及 (b)通过 (a)在操作的上下文中传递仅仅的文件名作为参数被错误地认为是实现(b)的一种方式。 这种混淆导致至少有一个答案集中在(a)上。 我试图使用查找命令列出某个路径中的所有目录,但在输出中隐藏该路径。-printf"%P\n"标志应该隐藏 /path/to/directory/

  • 如果表达式无法在一行输入完,用三点"…"加回车键表示下一行继续该语句的输入.例如: s = 1 -1/2 + 1/3 -1/4 + 1/5 - 1/6 + 1/7 ... - 1/8 + 1/9 - 1/10 + 1/11 - 1/12; "=","+"和"-"符号前后的空格可以省略,但使用可以增加易读性.

  • 问题内容: 我有一个系统,需要从几个不同的进程接收输入。最简单的只是命令行,用户可以在其中手动输入数据。这些数据将添加到并由主流程稍后处理,但我还没有走那么远;在进程内部调用似乎不起作用。我抽出了代码的精髓,下面是一个示例: 这个简单的代码抛出了这一点: 如何在Python的进程中获取命令行输入? 问题答案: 当您在Python中生成线程时,它将关闭stdin。您不能使用子流程来收集标准输入。使用