Hallo,
Ich habe eine MySQL-Datenbank mit MD5-Passwörtern. Die möchte ich gerne in openLDAP importieren.
Leider ist das nicht so einfach. Wenn ich den Hash einfach als
{MD5}Hash
via LDIF in openLDAP übernehme, kann ich auch bei gültiger Passworteingabe nicht erfolgreich authentifizieren - wäre ja auch zu einfach.
openLDAP kommt dazu bei Berechnung eines MD5-Hashes für das gleiche Passwort zu einem anderen Ergebnis als MySQL - logischer Weise.
Wie kan ich die in MySQL bestehenden Hashes in LDAP übernehmen? Die base64-Falle ist es übrigens nicht.
Gruß,
Maik
MySQL MD5 Passwörter in openLDAP importieren
-
- Posts: 43
- Joined: 2006-02-20 08:41
- Location: Cloppenburg
-
- Posts: 43
- Joined: 2006-02-20 08:41
- Location: Cloppenburg
Re: MySQL MD5 Passwörter in openLDAP importieren
Ich antworte mir mal selbst:
MySQL scheint "pures" MD5 zu liefern und nicht über libcrypt wie openLDAP zu gehen. Man kann das umcodieren - hier ein python-Vorschlag:
Leider bin ich eher der PHp-Mensch. Was macht der da in der Zeile:
Ich bekomme das noch nicht vollständig übersetzt. Dass das base64 encoded werden muss, ist ja klar (s.o.).
Gruß,
Maik
MySQL scheint "pures" MD5 zu liefern und nicht über libcrypt wie openLDAP zu gehen. Man kann das umcodieren - hier ein python-Vorschlag:
Code: Select all
mysql_md5 = 'ae2b1fca515949e5d54fb22b8ed95575'
bin_md5 = ''.join([ chr(int(mysql_md5[i:i+1],16)) for i in
range(0,len(mysql_md5),2)])
import base64
userPassword = '{MD5}'+base64.encodestring(bin_md5).strip()
Code: Select all
bin_md5 = ''.join([ chr(int(mysql_md5[i:i+1],16)) for i in
range(0,len(mysql_md5),2)])
Gruß,
Maik