【发布时间】:2023-03-09 19:32:02
【问题描述】:
我点击了this eclipse bug,其中System.console() 不适用于Java 应用程序启动。我有一个小型 Java 应用程序,该应用程序还需要输入只能从 IDE 内启动的密码。有没有其他方法可以安全地仅使用 JDK 类从控制台读取密码(即不在控制台上显示)?
编辑:
我知道System.in,但那是在控制台中显示输入的字符,因此不安全。
EDIT2:
我还想指出,可以在项目中在 windows 下创建批处理文件或在 linux/unix 下创建一个小的 bash 脚本。通过使用系统默认编辑器在 eclipse 中打开此文件,它将在一个新的控制台窗口中启动,其中System.console() 可用。这样您就可以从 Eclipse 中启动应用程序。但必须先构建项目,以便二进制文件存在。
【问题讨论】:
-
我认为这是一个很好的学习机会,看看您是否可以在没有 Eclipse 的情况下创建一个小型 Java 应用程序,只使用 javac 和可能的 ant。这比您想象的要容易!
-
@jrajav 这更像是一个安全问题,而不是简单的学习问题。
-
我不认为在 Eclipse 控制台上隐藏密码的好方法。但是,你真的需要在 Eclipse 控制台上屏蔽密码吗? Eclipse 控制台仅供开发人员使用。一旦你部署了你的程序,我假设它会在最终用户操作系统上安装的 JVM 上运行。
-
@wns349 该应用不会部署在任何地方。它只是一个为我们开发人员重复工作的小应用程序。但通常开发人员都坐在一张桌子旁。
标签: java security console passwords