我正在为 Java GUI 创建一个注册和登录页面,其中用户名和密码将在 GUI 中创建,然后存储在 MySQL 表中。相关代码是 -
passL = new JPasswordField();
userNameT = new JTextField();
//Set up everything else
submitB = new JButton("click to submit");
frame.add(submitB);
submitB.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
try {
Class.forName("com.mysql.jdbc.Driver");
Connection con = GetConnection.getConnectionInstance();
PreparedStatement statement1 = con
.prepareStatement("INSERT INTO users (username, password) VALUES ("
+ Integer.parseInt(userNameT.getText())
+ ",SHA1('" + passT.getPassword() + "'))");
statement1.executeUpdate();
} //Catches exceptions etc
userNameT 是一个数字,密码(passT)可以是任何东西(还没有写约束)。
我的问题是 Eclipse 在 getPassword 上给我一个警告 - “必须明确地将 char[] 转换为字符串”。我这样做的方式是否存在安全问题?
我还需要在复制后直接将 passT 显式更改为 null 或空白,还是 Java 会自动执行此操作。
欢迎大家咨询!谢谢