JPasswordField 返回一些转换为字符串类型的哈希码

2024-01-13

我的程序在初始化程序之前需要用户的用户名和密码验证, 所以我创建了一个按钮登录,并将其与 ActionListener 关联,如下所示

   login.addActionListener(new ActionListener(){
            public void actionPerformed(ActionEvent event){
                if(txtUserName.getText().equals("Suraj") && (txtPwd.getPassword().toString()).equals("s123")){

                                dispose();
                                TimeFrame tFrame = new TimeFrame(userName);
                                tFrame.setVisible(true);
                                tFrame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
                                tFrame.setLayout(new GridLayout());

                        } else {
                            JOptionPane.showMessageDialog(null,"User name or password don't match","Acces Denied", JOptionPane.ERROR_MESSAGE);
                        }

Now the problem that occurs is even if i enter correct password, program displays an error mesenter image description heresage


getPassword()返回一个char[]. The toString()它不会像您假设的那样以字符串形式返回内容。

Try new String(txtPwd.getPassword()).equals("s123").

然而,这是有原因的char[]而不是字符串。尝试查找它的安全方面javadoc。 http://docs.oracle.com/javase/6/docs/api/javax/swing/JPasswordField.html#getPassword%28%29

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JPasswordField 返回一些转换为字符串类型的哈希码 的相关文章

随机推荐