JPasswordField编码输入

use*_*885 5 java swing jpasswordfield

Java JPasswordField正在编码用户在密码字段中输入的输入,我不想要它.我正在检查密码数据库值是纯数字值.

输入密码的数值为

12345 
Run Code Online (Sandbox Code Playgroud)

然后它回来了

[C@1e9b48b
Run Code Online (Sandbox Code Playgroud)

Aus*_*tin 4

我认为当您指的是编码时,您可能正在尝试使用该toString方法。在 char 数组上,将仅使用标准对象toString方法。

相反,你可能可以这样做

String password = new String(passwordField.getPassword());
Run Code Online (Sandbox Code Playgroud)

“编码”的唯一另一种方式是您以某种方式获得加密的密码。

  • @AndrewThompson原因是这样你可以在使用后清空数组。你不能用字符串来做到这一点,所以它仍然存在,可以从交换文件中读取。 (2认同)