对于我的网站,我使用这个 MySQL 函数将我的用户密码存储在数据库中:
ENCRYPT('password', CONCAT('$6$', SUBSTRING(SHA(RAND()), -16)))
现在,为了让我的用户登录,我需要检查他们提供的密码以及数据库中的值。
我以为它会像这样简单:
SELECT user FROM users WHERE id = $id AND password = ENCRYPT('$password', CONCAT('$6$', SUBSTRING(SHA(RAND()), -16)))
但是,由于 RAND() 函数,很明显这不起作用......
那么我将如何在 PHP(或 mysql)中重新创建此密码以将其与加密密码匹配?我假设我需要使用 crypt() 或 hash(),但老实说,我不确定是否应该使用 PHP 或 MySQL。
我正在使用 MySQL 5.5 版、PHP 5.3 版