2013-04-20 61 views
0

我正在用Java編寫一個銀行賬戶程序來測試MySQL。到目前爲止,該程序允許您創建一個具有姓名,密碼,用戶標識和帳戶餘額的新成員(每個用戶在數據庫中佔用一行)。你怎麼讓他們登錄,只需輸入他們的用戶名和密碼?謝謝!使用Java獲取MySQL數據庫中的特定字段

+0

嗨,歡迎來到Stack Overflow!爲了讓我們更好地幫助您,您需要付出一些努力。顯示你如何嘗試認證;提供更多詳細信息(GUI,控制檯,網頁等),更重要的是,讓它自己一槍,讓我們知道什麼是*不*工作。 – Jesse 2013-04-21 00:11:53

回答

0

您必須將給定的憑據訪問與數據庫上的值進行比較。

您可能想要存儲哈希密碼(含鹽!),以防止數據庫被盜時出現問題。

鹽醃哈希是重要的想法,有哈希函數爲MD5那些已經知道是安全的,但如果你這樣做

password = "123456" 
salt = "someString" //Anything you want, but it must be the same all the time 
saltedPassword = password + "-" + salt 
hashedSaltedPassword = yourHashFunction(saltedPassword) 

然後,hashedSaltedPassword是安全的,因爲如果散列函數打破了攻擊者得到的密碼將是「123456-someString」,這不是真正的密碼。

散列函數領域是非常有趣的,我強烈建議你看看吧,反正通過查看SHA啓動功能

在任何情況下,看起來你應該谷歌搜索一點點:)

+0

我正在考慮存儲哈希密碼,但這只是爲了測試目的。我不知道將密碼與數據庫值進行比較的代碼。 – user2303299 2013-04-20 23:57:31

+0

我終於想出了MySQL查詢來做到這一點。胡安你會如何去存儲哈希密碼。 – user2303299 2013-04-21 00:48:26

+0

查看我的更新回答 – 2013-04-21 01:08:31

相關問題