在eclipse java中从控制台屏蔽密码输入字段

时间:2011-11-28 14:20:52

标签: java eclipse

我一直在使用JDK 1.5来运行我的代码 有没有人知道从控制台输入屏蔽密码的方法?

我尝试过使用console.readPassword(),但它在eclipse IDE中不起作用。一个完整的例子可能对我有帮助。

3 个答案:

答案 0 :(得分:2)

本文可能有用,从没有命令行API进行密码屏蔽时:http://java.sun.com/developer/technicalArticles/Security/pwordmask/

作为旁注,是不是只在Java 1.6中添加了Console类?你在Eclipse中遇到任何错误吗?

答案 1 :(得分:1)

尝试使用swing:

final String password, message = "Enter password";
if( System.console() == null ) 
{ // inside IDE like Eclipse or NetBeans
  final JPasswordField pf = new JPasswordField(); 
  password = JOptionPane.showConfirmDialog( null, pf, message,
    JOptionPane.OK_CANCEL_OPTION,
    JOptionPane.QUESTION_MESSAGE ) == JOptionPane.OK_OPTION ? 
      new String( pf.getPassword() ) : "";
}
else 
  password = new String( System.console().readPassword( "%s> ", message ) );

答案 2 :(得分:0)

readPassword()使用本机代码关闭echo。可能它将取决于平台。所以我认为你不会得到一个简单的纯Java解决方案。为什么不在真正的控制台中运行程序呢?