Seite 1 von 1

md5 Verschlüsselung

Verfasst: Freitag 2. Juni 2006, 11:02
von de_master
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.


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)
Wenn ich jetzt das ganze auslese erhalte ich jedoch ein komplett anderes Ergebnis als ich eigentlich in die DB geschrieben habe.

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]
Weis jemand was ich falsch mache?

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
Gruss Michael

Verfasst: Freitag 2. Juni 2006, 12:02
von de_master
Oke prob. behoben :)