【问题标题】:Java Program That Reveals Hidden Password揭示隐藏密码的 Java 程序
【发布时间】:2014-12-16 12:09:27
【问题描述】:

我想制作一个简单的 Java 程序,它可以显示从浏览器或其他应用程序复制的密码,该密码以星号的形式隐藏。

我写了一些代码,但它不起作用!

例如,当我从 Facebook 密码字段复制密码并将其粘贴到我的程序的 JPasswordField 时。然后将其转换为普通文本,它显示错误的输出(实际上,它给了我我的类名,这很奇怪)

但是,当我复制任何普通文本并将其粘贴到 JPasswordField 中然后获取文本时,它会返回正确的普通文本!

那么为什么它不起作用?如果我的问题看起来有点愚蠢,我很抱歉。我是编程新手,尤其是实用程序。 我怎样才能让它工作? :D

提前致谢, 代码如下:

class PasswordViewer extends JFrame {
    JPasswordField field = new JPasswordField(20);
    JButton btn = new JButton("OK");
    JPanel panel = new JPanel();
    char[] s;

    PasswordViewer() {
        setSize(300, 300);
        panel.add(field);
        panel.add(btn);
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        add(panel);

        btn.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent arg0) {
                s = field.getPassword();
                findPass();
            }
        });
    }
    void findPass() {
        String str = "";
        for (int i = 0; i < s.length; i++) {
            str += s[i];
        }
        JOptionPane.showMessageDialog(null, str, "PasswordViewer",
            JOptionPane.INFORMATION_MESSAGE);
    }
    public static void main(String[] args) {
        PasswordViewer passview = new PasswordViewer();
        passview.setVisible(true);
    }
}

【问题讨论】:

  • 因为你复制的不是文本;而是它的星号版本,它不能那样工作!
  • 我认为你看不到这样的密码。
  • 您无法从 facebook 复制密码。如果您将其粘贴到文本编辑器中,您将看到它。
  • 大多数现代浏览器不允许复制密码字段的值。您正在粘贴的内容是您在尝试复制密码之前随意复制的内容。
  • @shekharsuman,我知道!但我以为你能帮上忙?!

标签: java jpasswordfield


【解决方案1】:

显然,正如@ankitkatiyar91 指出的那样,您无法从浏览器的密码字段中复制。 我错了。 这个问题是没有意义的,除非你能找到一种方法从浏览器的密码字段中复制密码。

【讨论】:

    猜你喜欢
    • 2013-11-14
    • 2021-12-01
    • 2018-01-15
    • 1970-01-01
    • 1970-01-01
    • 2015-12-09
    • 2017-02-19
    • 2019-10-15
    • 1970-01-01
    相关资源
    最近更新 更多