So, ich habe das Problem gelöst.
Mediawiki ist per default so konfiguriert daß bei Anlegen eines neuen Users das Passwort mittels Salted Hash verschlüsselt wird.
Man kann das Wiki aber das Passwort mit einfachem MD5 Hash speichern lassen in dem man im Root-Dir des Wikis im File 'LocalSettings.php' folgenden Code anhängt.
Funktionierte erst mal und ich konnte mich mit den Usern die ich von aussen angelegt hatte im Wiki einloggen. Einfach gehashte Passwörter reichen für meinen Zweck aber nicht, weswegen ich mich durch den Wiki-Code gepflügt hab und folgendes geklaut und nachgebaut habe...
/mediawiki/includes/User.php - function crypt
Code:
static function crypt( $password, $salt = false ) {
global $wgPasswordSalt;
if($wgPasswordSalt) {
if ( $salt === false ) {
$salt = substr( wfGenerateToken(), 0, 8 );
}
return ':B:' . $salt . ':' . md5( $salt . '-' . md5( $password ) );
} else {
return ':A:' . md5( $password);
}
}
hier wird das Passwort erzeugt, je nachdem wie das Flag für Salted oder Nicht-Salted gesetzt wurde. Das Salt-Präpendix an sich wird mit Hilfe der Funktion wfGEnerateToken() erzeugt. Die findet man hier:
/mediawiki/includes/GlobalFunctions.php
Code:
function wfGenerateToken( $salt = '' ) {
$salt = serialize($salt);
return md5( mt_rand( 0, 0x7fffffff ) . $salt );
}
Ich hab für meine Zwecke das dann so herum zusammen gebaut...
Code:
$saltbase = '';
$saltbase = serialize($saltbase);
$salt = substr((md5( mt_rand( 0, 0x7fffffff ) . $saltbase )),0,8);
$salthash = ':B:' . $salt . ':' . md5( $salt . '-' . md5( $user_password ));
Die Variable $salthash schreibe ich ins SQL Statement und alles ist gut. Ich kann den neuen User im Wiki einloggen und erfülle den nötigen Sicherheitsanspruch.
vl. hilfts ja mal jemandem.
mfg