Doch, es ist möglich!
Habe MD5 Passwörter in der Datenbank, und mit crypt(CRYPT_MD5) verschlüsselte Passwörter in der htpasswd Datei.
Leider wurde die .htpasswd Datei bei einem Serverupdate geschrottet (es fehlen seither die meisten Passwörter, da der Server nur die Benutzer in die neue Datei eingetragen hat, die ich manuell im Server eingetragen habe).
Prüfen ob das Passwort korrekt ist geht so:
<?php
$passwd="Ehemaliges Passwort"; //dies ist hier eigentlich unbekannt, aber irgend etwas wollte ich für das Beispiel verwenden.
$md5fromDB=md5($passwd); //Das hier wäre dann z.B. ein md5 verschlüsselter Eintrag aus der Datenbank, der beim Anlegen des Benutzers aus dem Passwort "Ehemaliges Passwort" erstellt wurde.
echo "MD5: ".$md5fromDB."<br>\n";
$mdcrypted=crypt($md5fromDB);
echo "cryptedMD5: ".$mdcrypted."<br>\n";
if(crypt($md5fromDB,$mdcrypted)==$mdcrypted)
{
echo "Password Ok!<br>"; //-> Very good working!
}
?>
Das MD5 Passwort in ein crypt Passwort umwandeln ist also noch einfacher: $mdcrypted aus dem obigen Beispiel ist ein solches crypt(CRYPT_MD5) umgewandeltes Passwort.