md5 Verschlüsselung
Verfasst: Freitag 2. Juni 2006, 11:02
Hallo @all,
ich schreibe mit der Methode MySQLdbAddUser() den User in die Datenbank. Das Passwort verschlüssel ich mit hilfe von md5 und schicke es an die Datenbank.
Wenn ich jetzt das ganze auslese erhalte ich jedoch ein komplett anderes Ergebnis als ich eigentlich in die DB geschrieben habe.
Weis jemand was ich falsch mache?
Hier das gesammte Programm:
Gruss Michael
ich schreibe mit der Methode MySQLdbAddUser() den User in die Datenbank. Das Passwort verschlüssel ich mit hilfe von md5 und schicke es an die Datenbank.
Code: Alles auswählen
newPassword = md5.new(password).digest()
#zusammenbau des SQL Strings
sql = "INSERT INTO t_user (username, password, firstname, lastname, mail) VALUES('" + username + "', '" + newPassword + "', '" + firstname + "', '" + lastname + "', '" + mail + "')"
#anlegen des Users
self.db.query(sql)
Code: Alles auswählen
sql = "SELECT username, password FROM t_user WHERE username = '" + username + "'"
self.db.query(sql)
r = self.db.store_result()
UserListe = r.fetch_row()
print md5.new(password).digest()
print md5.new(UserListe[0][1]).digest()
print UserListe[0][0]
Hier das gesammte Programm:
Code: Alles auswählen
# 2 => Verbindungsfehler!
# 3 => User schon vorhanden
# 4 => Username nicht vorhanden
# 5 => PW ist falsch!
# 10 => LogIn OK!
import MySQLdb
import md5
class MyMySQLdb:
def __init__(self):
self.db = MySQLdb.connect(host="localhost",user="root", passwd="",db="test")
#Check ob Verbindung OK!
if self.db:
pass #Verbindung OK
else:
return 2
def MySQLdbAddUser(self, password, firstname, lastname, mail):
#username bilden und Check ob schon in DB vorhanden
username = firstname + "." + lastname
sql = "SELECT username FROM t_user WHERE username = '" + username + "'"
self.db.query(sql)
result = self.db.store_result()
if result.fetch_row():
#Username schon vorhanden abbruch!
return 3
else:
#lege User an! ->Verschlusseln des PWs
newPassword = md5.new(password).digest()
#zusammenbau des SQL Strings
sql = "INSERT INTO t_user (username, password, firstname, lastname, mail) VALUES('" + username + "', '" + newPassword + "', '" + firstname + "', '" + lastname + "', '" + mail + "')"
#anlegen des Users
self.db.query(sql)
def MySQLdbLogIn(self, username, password):
#Check ob User vorhanden
sql = "SELECT username FROM t_user WHERE username = '" + username + "'"
self.db.query(sql)
result = self.db.store_result()
#ist username vorhanden?
if result.fetch_row():
#dann weiter log in
sql = "SELECT username, password FROM t_user WHERE username = '" + username + "'"
self.db.query(sql)
r = self.db.store_result()
UserListe = r.fetch_row()
print md5.new(password).digest()
print md5.new(UserListe[0][1]).digest()
print UserListe[0][0]
if username == UserListe[0][0]:
if password == md5.new(UserListe[0][1]).digest():
#LogIn OK!
print "LogIn OK!"
return 10
else:
#PW falsch!
return 5
else:
return 4
else:
#Username nicht vorhanden!
return 4
test = MyMySQLdb()
#status = test.MySQLdbAddUser("12345", "Philipp", "Bartel", "Philipp.Bartel@")
status = test.MySQLdbLogIn("Michael.Strecker", "bb")
print status