Ich arbeite mit dem Moodle-System, aber es stellt sich heraus, dass es MD5 Salz Hashing verwendet. Ich habe einige gefunden, also könntest du es mir erklären, weil ich nur Grundkenntnisse in php habe.PHP Code MD5 Hashing Erklärung
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;
}
wäre es schwer, es zu ändern, dass nach einem einfachen Texteingabe wäre es gehasht wurde?
Ihre Frage macht keinen Sinn. Es ist völlig unklar, was Sie zu tun versuchen. – ceejayoz
Ich erstelle eine Java-App, die eine Verbindung zur Datenbank herstellen und Daten daraus abrufen würde, aber es gibt ein Problem. Die Verwendung eines auf der Webseite registrierten Passwortes wurde geändert. Dieser Code sollte die Art und Weise, wie es geändert wird, sein. Aber ich bekomme es nicht und ich würde gerne, wenn mir jemand es erklären könnte – LTnewbie
Benutze Moodle's Web Service API.Verwenden Sie die Datenbank nicht direkt. Moodle ist so kaputt wie es ist ... mach es nicht schlimmer. – Brad