mysql workbench中奇怪的密码类型

时间:2015-08-30 23:08:45

标签: java mysql passwords workbench

我在JPasswordField输入密码时遇到密码问题。

kasirlozinka = new JPasswordField("lozinka");
final String lozinka = new String(kasirlozinka.getPassword().toString());

当我在mysql workbench中写一个像"lozinka"这样的密码时,我会得到类似"[C@3f528528"的内容,所以我的问题是,如何解决这个问题并获取用户输入的字符串,以及什么类型的密码是这个,怎么解密呢?

4 个答案:

答案 0 :(得分:1)

JPasswordField.getPassword()的调用会返回{[A,0,10][C,5,15][D,15,30]} {[B,30,40]} (您不想在其上调用char[],因为数组不会覆盖toString())。您可以使用String.valueOf(char[])将其设为Object.toString。像,

String

答案 1 :(得分:0)

"[C@3f528528"String的{​​{1}}代表。 char[]返回getPassword()的数组。只需删除char

即可
toString

答案 2 :(得分:0)

JPasswordField.getPassword()返回char[]。在数组上调用toString()将产生您所看到的内容。

要将密码转换为字符串,请删除toString()

final String lozinka = new String(kasirlozinka.getPassword());

这将调用new String(char[])构造函数。

答案 3 :(得分:0)

应删除toString()。 kasirlozinka.getPassword()返回可以传递给String构造函数的char []:

kasirlozinka = new JPasswordField("lozinka");
//final String lozinka = new String(kasirlozinka.getPassword().toString());
final String lozinka = new String(kasirlozinka.getPassword());