我正在开发一个需要用户进行身份验证的应用程序。我这样做是通过拥有一个具有配置文件表的数据库,并在表中包含用户名和密码。我打算让用户输入他们的用户名和密码,然后将他们给定的数据与数据库中的数据进行比较。如果它们是相同的,那么它们就会登录。这是正确的方法吗?
如果这是正确的方法,我如何将用户的给定密码与数据库中的密码进行比较?数据库中的密码使用PASSWORD函数加密。
谢谢!
答案 0 :(得分:1)
您可以使用AES_ENCRYPT(),AES_DECRYPT()函数。这是我提出的方式。在程序中,您保留一个存储加密密钥的常量全局变量。
所以你可以像这样比较密码。
SELECT User_ID FROM profile其中profile.userID ='+ userID +'AND profile.password = AES_ENCRYPT('+ givenpassword +','“+ USER_ENCRYPTION_KEY +”')
希望这会对你有所帮助。
普拉萨德。
答案 1 :(得分:1)