Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在mysql中的二进制字段中插入密码,并在登录系统时进行检查_Java_Mysql_Netbeans_Mysql Workbench - Fatal编程技术网

Java 在mysql中的二进制字段中插入密码,并在登录系统时进行检查

Java 在mysql中的二进制字段中插入密码,并在登录系统时进行检查,java,mysql,netbeans,mysql-workbench,Java,Mysql,Netbeans,Mysql Workbench,我正在开发一个软件,我有一个框架来拯救用户。 我有密码字段,可以从“保存新用户”框中获取密码。我选择了二进制数据类型来保存密码。在我保存了一条记录并从workbench中查看之后,密码字段出现了“BLOB”。我试过登录frmae。但它不起作用。我没有使用任何加密方法 我的问题是贝娄和代码。我也想知道什么是保存密码的最佳方式 //get password from password field in save user frame String password = txtUse

我正在开发一个软件,我有一个框架来拯救用户。 我有密码字段,可以从“保存新用户”框中获取密码。我选择了二进制数据类型来保存密码。在我保存了一条记录并从workbench中查看之后,密码字段出现了“BLOB”。我试过登录frmae。但它不起作用。我没有使用任何加密方法

我的问题是贝娄和代码。我也想知道什么是保存密码的最佳方式

    //get password from  password field in save user frame
    String password = txtUserPassword.getPassword().toString();

    /////////////////////////////////QUERY TO SAVE NEW USER////////////////////////////////////////////////////
    //query to save the new user
     "INSERT INTO user(username,fname,lname,password,contact,type,isDeleted) VALUES( '"+userName+"','"+fname+"','"+lname+"','"+password+"','"+contact+"','"+type+"','false' )"


    ///////////////////LOG IN FORM CODE/////////////////////////////////////////////////////////////////////

    //in Login form ,get the user name and password and check with database value
     String username = txtUsername.getText();
            String password = new String(txtPassword.getPassword());

    //take the values to result set
            ResultSet rst = DB_Access.getData("SELECT username,password FROM user   WHERE BINARY  username='"+username+"' AND BINARY   password =  '"+password+"'  ");




            // check user existing or not in the if condition

             if(rst.next())

            {
                 Guesrname = txtUsername.getText(); // this user name to pass the user name to next form
                this.dispose();
                Seller sellFrame = new Seller(Guesrname ); // next appearing form
                sellFrame.setVisible(true);
            }

            else 
            {
                JOptionPane.showMessageDialog(this, "Invalid user name or password");

            }

我看到一个问题。这行不正确:

String password = txtUserPassword.getPassword().toString(); // returns something like"[C@12345"
稍后,您可以使用字符串构造函数而不是
toString
,正确地执行此操作:

String password = new String(txtPassword.getPassword());
JPassword.getPassword()返回一个
char[]
而不是字符串。奇怪的是,char数组的toString方法不返回包含字符数组文本的字符串


修改输入密码的代码,使其工作方式与使用密码登录的代码相同。这会让你离得更近。

谢谢你的回答。我想知道存储密码的最佳方法。我想我得到了答案,但我不知道是否正确。我将在程序中加密密码并将其保存到mysql数据库。我使用varchar(255)字段保存加密的密码。告诉我我是否正确。