2014-09-29 56 views
2

任何人都可以幫助解決我使用預準備語句的問題。嘗試將密碼添加到我從JPasswordField獲取的語句時出現問題。如何在java中準備的語句中添加密碼

String Query = "SELECT * FROM Users WHERE Username = ? AND Password = ?"; 

PreparedStatement PrepedStatement = Con.prepareStatement(Query); 

PrepedStatement.setString(1, Username.getText()); 
PrepedStatement.setString(2, Password.getPassword()); 
//It is no having any of this as getPassword() returns a Char[] which isn't a string 

所以沒有人有任何想法。乾杯。

+4

我**希望**你沒有在數據庫中以純文本存儲密碼。 – 2014-09-29 16:39:15

+1

嗯,我是atm,但我應該是sALTing他們不應該我。 – Hewiiitt 2014-09-29 16:41:21

+4

SALT的密碼輸入到單向加密散列。 – 2014-09-29 16:42:08

回答

1

這可能會奏效,但是,我強烈考慮注意Elliott Frisch的評論。

字符串有一個重載的構造函數可以將字符數組作爲參數。

PrepedStatement.setString(2,new String(Password.getPassword()));

+2

謝謝,但我可能只是要做Elliott Frisch的方法。 – Hewiiitt 2014-09-29 16:43:35

+0

非常危險的建議。 – 2014-09-29 16:49:16

+0

@HovercraftFullOfEels爲什麼? – tier1 2014-09-29 16:50:06