在我的web應用程序中使用servlet和hibernate。我需要驗證輸入密碼的客戶。與db中的記錄匹配的用戶密碼
如果他已經在數據庫中,我需要檢查他的密碼是否與db中記錄的密碼相匹配。對於新客戶,我想要輸入密碼併爲他創建一條記錄。 我試圖這樣做的情況。
現有客戶進入EMAILADDRESS和密碼
String email = req.getParameter("emailAddress");
String password = req.getParameter("password");
Customer cust = dao.findByEmailAddress(email);
現在,我該如何檢查,如果此卡斯特對象與密碼相關聯,並匹配用戶輸入的內容? Manning的hibernate書籍示例將密碼作爲字符串存儲在Customer類中。這是一個好主意嗎?這將如何存儲在數據庫中?
當使用hibernate時,如何處理?我聽到有人提到將密碼存儲爲散列。但我不太清楚在我的應用程序中如何做到這一點。
有人能告訴我如何解決這個問題嗎?
感謝您的回覆..使用哈希似乎是一個選項創建一個客戶,我想我將不得不哈希用戶的密碼輸入,調用customer.setPassword(hashedpass)然後調用客戶端的saveUpdate(),以便將散列寫入Customer表。爲了驗證,我將不得不散列用戶輸入,從數據庫獲得散列表,並匹配它們。這是正確的嗎? – markjason72
是的,就是這樣。如果您確實需要安全存儲,請在密碼散列之前先密碼。 –