2017-04-01 101 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)發送給用戶,告訴他點擊它以重置密碼。

相關問題