md5 Verschlüsselung

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
de_master
User
Beiträge: 72
Registriert: Samstag 15. Januar 2005, 15:19

md5 Verschlüsselung

Beitragvon de_master » 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.



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
Zuletzt geändert von de_master am Freitag 2. Juni 2006, 12:03, insgesamt 1-mal geändert.
de_master
User
Beiträge: 72
Registriert: Samstag 15. Januar 2005, 15:19

Beitragvon de_master » Freitag 2. Juni 2006, 12:02

Oke prob. behoben :)

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder