添加用户时我用的是 jPasswordField.getPassword()——这个在数据库中看的时候是加密了的,
比如我存入123,到数据库中去看就变成加密的字符了。那么登陆的时候用什么方法验证文本框中输入的密码和这个数据库中的密码一致呢?一个哥们说也是用jPasswordField.getPassword()得到登录提交后的密码密文,然后再跟数据库中的密文比较。可是我试了不行啊。

解决方案 »

  1.   

    你道先从JPasswordField得到的是一个字符数组,你用此数组去构造一个字符串就成了密码了,然后用此密码和数据库的密码去比对就可以了
      

  2.   

    还是不行,因为
    登陆时输入的数据jPasswordField1.getPassword().toString()
    每次打印出来的jPasswordField1.getPassword().toString()都不一样,为什么会这样?
      

  3.   

    jPasswordField1.getPassword()返回的是char[]类型,要用String.valueOf()变成字符串型。那么也就是说直接把jPasswordField1.getPassword()这种类型或者把jPasswordField1.getPassword().toString()存到数据库中的方法是不行的.
      

  4.   

    char[] a = jPasswordField1.getPassword();
    String b = new String(a);
    System.out.println(b);
      

  5.   

    用字符数组的toString[]出来就是乱码
      

  6.   

    用getText();不行吗?getPassword()我还真不知道做什么用的.
    我试过了,getText()可以得到输入的密码,返回字符串的.