我一直在使用JDK 1.5
来运行我的代码
有没有人知道从控制台输入屏蔽密码的方法?
我尝试过使用console.readPassword()
,但它在eclipse IDE中不起作用。一个完整的例子可能对我有帮助。
答案 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解决方案。为什么不在真正的控制台中运行程序呢?