2017-04-01 68 views
0

我正在处理我的项目并忘记了管理员用户密码。下面是用户表:如何重置使用md5()和crypt生成的密码()

CREATE TABLE IF NOT EXISTS `users` (
    `id` int(11) NOT NULL AUTO_INCREMENT, 
    `email` varchar(50) NOT NULL, 
    `password` varchar(32) NOT NULL, 
    `name` varchar(50) NOT NULL, 
    PRIMARY KEY (`id`) 
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=11 ; 


INSERT INTO `users` (`id`, `email`, `password`, `name`) VALUES 
(7, '[email protected]', '078bbb4bf0f7117fb131ec45f15b5b87', 'Ikhlas Sons'), 
(10, '[email protected]', '078bbb4bf0f7117fb131ec45f15b5b87', 'essa'); 

谁能告诉我在PHP中如何重置密码与md5()cryp()

这里的密码是如何产生的生成:

$hash = crypt($entered_password,""); 
$hash = md5($hash); 
+0

你可以在你生成密码的地方发布代码吗? – Mario

+0

检查选择查询登录..更好地发布它,那么我们可以帮助 –

+0

你不会上网,是吗? –

回答

0

这应该工作:

$hash = crypt("passpass",""); 
$hash = md5("passpass"); 
echo $hash; 

或者这样:

$hash = crypt("passpass",""); 
echo $hash; 

请记住您的密码是passpass。将代码复制到userspassword字段在mysql数据库中。登录时使用passpass作为密码。

+0

感谢它的工作。 –

1

您需要一个额外的列,例如password_reset_token。当用户想要恢复他的密码时,您的应用必须生成(足够长的)随机字符串并将其存储在password_reset_token字段中。

然后,您创建一个脚本,该脚本通过$_GET(即:example.com/password-reset/?token=982dh89h2w9h92hd)接收该令牌,检查它是否存在于Users表中,如果正确,则提示重置该用户的密码的表单。

您必须通过电子邮件将该链接(example.com/password-reset/?token=982dh89h2w9h92hd)发送给用户,告诉他点击它以重置密码。