Я работаю с системой moodle, но оказывается, что он использует хеширование соли md5. Я нашел, что кто-то пришел, так что, возможно, вы могли бы объяснить это мне, потому что у меня есть только базовые знания php.php code md5 описание хэширования
function validate_internal_user_password($user, $password) {
global $CFG;
if (!isset($CFG->passwordsaltmain)) {
$CFG->passwordsaltmain = '';
}
$validated = false;
if ($user->password === 'not cached') {
// internal password is not used at all, it can not validate
} else if ($user->password === md5($password.$CFG->passwordsaltmain)
or $user->password === md5($password)
or $user->password === md5(addslashes($password).$CFG->passwordsaltmain)
or $user->password === md5(addslashes($password))) {
// note: we are intentionally using the addslashes() here because we
// need to accept old password hashes of passwords with magic quotes
$validated = true;
} else {
for ($i=1; $i<=20; $i++) { //20 alternative salts should be enough, right?
$alt = 'passwordsaltalt'.$i;
if (!empty($CFG->$alt)) {
if ($user->password === md5($password.$CFG->$alt) or $user->password === md5(addslashes($password).$CFG->$alt)) {
$validated = true;
break;
}
}
}
}
if ($validated) {
// force update of password hash using latest main password salt and encoding if needed
update_internal_user_password($user, $password);
}
return $validated;
}
Было бы трудно изменить, что после ввода простого текста она стала хэшируются?
Ваш вопрос не имеет смысла. Совершенно непонятно, что вы пытаетесь сделать. – ceejayoz
Я создаю приложение java, которое будет подключаться к базе данных и получать данные от него, но есть проблема. Используя зарегистрированную веб-страницу учетные данные, пароль был изменен. Этот код должен быть таким, каким он будет изменен. Но я не понимаю, и я хотел бы, если бы кто-нибудь мог мне это объяснить. – LTnewbie
Используйте API веб-сервиса Moodle.Не используйте базу данных напрямую. Moodle достаточно разбит, потому что ... не ухудшайте его. – Brad