我正在研究一個需要用戶進行認證的應用程序。我通過擁有一個具有配置文件表的數據庫並在表內有一個用戶名和密碼來完成此操作。我將讓用戶輸入他們的用戶名和密碼,然後將他們的給定數據與數據庫中的數據進行比較。如果他們是相同的,那麼他們登錄。這是做到這一點的正確方法嗎?用戶認證密碼登記數據庫
如果這是做到這一點的正確方法,我如何將用戶的給定密碼與數據庫中的密碼進行比較?數據庫中的密碼使用密碼功能進行了加密。
謝謝!
我正在研究一個需要用戶進行認證的應用程序。我通過擁有一個具有配置文件表的數據庫並在表內有一個用戶名和密碼來完成此操作。我將讓用戶輸入他們的用戶名和密碼,然後將他們的給定數據與數據庫中的數據進行比較。如果他們是相同的,那麼他們登錄。這是做到這一點的正確方法嗎?用戶認證密碼登記數據庫
如果這是做到這一點的正確方法,我如何將用戶的給定密碼與數據庫中的密碼進行比較?數據庫中的密碼使用密碼功能進行了加密。
謝謝!
對此,您可以使用AES_ENCRYPT(),AES_DECRYPT()函數。這是我建議的方式。在你的程序中,你保存一個存儲加密密鑰的恆定全局變量。
所以你可以比較這樣的密碼。
SELECT USER_ID FROM輪廓,其中profile.userID = '+用戶id +' 和profile.password = AES_ENCRYPT( '+ givenpassword +', ' 「+ USER_ENCRYPTION_KEY +」')
希望這會幫助你。
Prasad。
你給了我一個正確的方向很大的推動。我使用了不同的加密算法,但這正是我所期待的。謝謝 – prolink007
PASSWORD()不應該由您的應用程序使用,如參考資料中所述:http://dev.mysql.com/doc/refman/5.0/en/encryption-functions.html#function_password另外,如果您需要支持另一個數據庫? – TJR
我不需要支持另一個數據庫,這僅僅是一個類。 – prolink007
下面是與此類似的另一個問題:http://stackoverflow.com/questions/1751152/mysql-password-function – TJR