私はmoodleシステムで作業していますが、md5 salt hashingを使用しています。私はいくつか来て、私はPHPの基本的な知識しか持っていないので、多分あなたは私にそれを探検することができますが見つかりました。PHPコード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アプリケーションを作成していますが、問題があります。 Webページを使用すると、パスワードが変更されました。上記のコードは、それがどのように変更されるべきかを示します。しかし、私はそれを手に入れておらず、もし誰かがそれを私に説明できるのであれば、 – LTnewbie
MoodleのWebサービスAPIを使ってください。データベースを直接使用しないでください。 Moodleはそれだけで十分に壊れています...悪化させないでください。 – Brad