我需要解密一个密码。这个密码是用password_hash
函数加密的。
$password = 'examplepassword';
$crypted = password_hash($password, PASSWORD_DEFAULT);
现在,假设$crypted
已经存储在一个数据库中(有一个“用户”表,包括用户名、密码等),我需要进行登录: 我必须检查用户输入的密码是否与存储在数据库中的加密密码匹配。
以下是SQL代码...
$sql_script = 'select * from USERS where username="'.$username.'" and password="'.$inputpassword.'"';
......但是$inputpassword
没有被加密,所以它与存储在用户表密码字段中的内容不相等......
那么,在使用password_hash
之后还有解密函数吗?还是我应该更改我的加密方法?或者还有其他方法?
password_verify()
是一个函数名,用于验证密码是否和已存储的哈希值匹配。 - Funk Forty Niner