我的客戶忘記了密碼登錄到其他開發商拒絕幫助開發的網站後端。因此,我去了SQL數據庫,看看我是否可以直接從那裏檢索密碼,但似乎密碼是加密的。見下面PHP Salt密碼加密
3a0606b25e75eb6c1fed61886844832e
,如果我知道密碼的加密方式,這樣我可以只加密新密碼,並添加到SQL,但它會更容易些,當我看着代碼(在密碼更改PHP gile)有一些名爲salt_pass的加密本網站的密碼。請參見下面的代碼:
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$db = new database();
$option_uw = array(
"table" => "users",
"fields" => "password",
"condition" => "id='{$_POST['id']}'"
);
$query_uw = $db->select($option_uw);
$rs_uw = $db->get($query_uw);
if ($rs_uw['password'] == trim(salt_pass($_POST['oldpassword']))) {
$value_pw = array(
"password" => trim(salt_pass($_POST['pass']))
);
$query_pw = $db->update("users", $value_pw, "id='{$_POST['id']}'");
if ($query_pw == TRUE) {
header("location:" . $baseUrl . "/back/user");
}
}else{
$_SESSION[_ss . 'msg_result'] = TRUE;
header("location:" . $baseUrl . "/back/user/changepassword");
}
mysql_close();
}
這裏是salt_pass
功能
function salt_pass($pass) {
return md5("supapongherb.com" . $pass);
}
有誰知道我可以根據這個代碼再生或加密新密碼?
PS。該網站是與MVC編程開發,我真的有能力。請讓我知道如果你想看到更多的文件。
預先感謝您!
看看'insert'語法,你應該能夠弄清楚密碼是如何生成的。它可能被散列,你不能去散列它,因爲哈希不是加密的,它只能以一種方式。 – chris85
我剛發現這個功能,我不知道下一步該怎麼做。 ($ pass){ return md5(「supapongherb.com」。$ pass); } – scottymorg
現在你可以生成一個新的密碼,因爲你知道(過時的)哈希算法和使用的鹽。你甚至不需要做PHP。 '更新用戶設置密碼= md5(concate(「supapongherb.com」,'NEWPASSWORD'))其中userid = ??'。類似的東西 – chris85