如何重置使用md5()和crypt生成的密码()
问题描述:
我正在处理我的项目并忘记了管理员用户密码。下面是用户表:如何重置使用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);
答
这应该工作:
$hash = crypt("passpass","");
$hash = md5("passpass");
echo $hash;
或者这样:
$hash = crypt("passpass","");
echo $hash;
请记住您的密码是passpass
。将代码复制到users
。 password
字段在mysql数据库中。登录时使用passpass
作为密码。
+0
感谢它的工作。 –
答
您需要一个额外的列,例如password_reset_token
。当用户想要恢复他的密码时,您的应用必须生成(足够长的)随机字符串并将其存储在password_reset_token
字段中。
然后,您创建一个脚本,该脚本通过$_GET
(即:example.com/password-reset/?token=982dh89h2w9h92hd
)接收该令牌,检查它是否存在于Users表中,如果正确,则提示重置该用户的密码的表单。
您必须通过电子邮件将该链接(example.com/password-reset/?token=982dh89h2w9h92hd
)发送给用户,告诉他点击它以重置密码。
你可以在你生成密码的地方发布代码吗? – Mario
检查选择查询登录..更好地发布它,那么我们可以帮助 –
你不会上网,是吗? –