【发布时间】:2013-07-17 17:36:32
【问题描述】:
如何使用非字符串 API 将JPasswordField 中的密码剪切/复制到剪贴板。从而关闭一个窗口让黑客查看密码。
根据此链接https://stackoverflow.com/a/8885343/2534090 char 数组与文本不同。
public static void main(String[] args) {
Object pw = "Password";
System.out.println("String: " + pw);
pw = "Password".toCharArray();
System.out.println("Array: " + pw);
}
打印:
String: Password
Array: [C@5829428e
我想要在剪贴板中的是[C@5829428e,而不是Password
我尝试使用StringSelection 复制剪贴板中的内容,但它的构造函数采用了String,它是不可变且不安全的。
【问题讨论】:
-
阅读您的问题时,我真的很困惑。您想要获取 JPasswordField 的 char-Array 并且已经找到了此方法。你到底想用密码做什么?
-
这可能会给你一些提示:stackoverflow.com/questions/17706393/…
-
查看当你打印 char 数组时,你会得到不同的输出,当你打印 getText() 时,你会得到文本(即密码)。现在我的问题是如何将不同的输出放入剪贴板!
-
当你打印char数组时如何? char 数组包含密码,就像字符串一样。
-
@EJP 看到这个链接stackoverflow.com/a/8885343/2534090
标签: java swing jpasswordfield