SQL & md5 !?

liquidbeats

Erfahrenes Mitglied
Morgen zusammen,

Ich hab da ein Problem Bezüglich der md5 Verschlüsselung, und zwar folgende
Daten die aus der Datenbank ausgelesen werden Beispielsweise der nickname werden sofort in md5 Verschlüßelt, und mit dieser verschlüßelung wird dann weiter gearbeitet.
Problem ist jetzt jedoch wenn ich wieder was eintragen möchte in die datenbank oder auslesen, ist ja die Variable mit der ich Arbeitet verschlüsselt.

In diesem fall der nickname
die abfrage sieht in etwa so aus
"SELECT name, alter, wohnort FROM users WHERE nickname LIKE '$nickname';"

Im grunde kein Problem, aber er sucht nach einem nicknamen 2b058caf7a55b9b3a091cea9f16da188
den es ja so in dieser Form in der Tabelle nicht zu finden gibt!?

Wie also müsst ich das jetzt machen damit das Funktioniert?
Am einfachsten wär es ja md5 zu entschlüsseln, nur geht das glücklicher weise nicht was ja dann eh daneben wär was zu verschlüsseln.

Würde mich echt freuen wenn mir jemand helfen kann...

Gruß Andy.C
 
1) MD5 ist keine Verschlüsselung sondern ein Hash Wert. Eine Verschlüsselung hingegen muss immer entschlüsselt werden können, sonst ist sie sinnlos.

2) MySQL kennt eine MD5 Funktion, die du ebenfalls über das Suchfeld auf http://www.mysql.com gefunden hättest. Die haben übrigens eine klasse Dokumentation, fast so gut wie die von PHP auf php.net ;)

3)
Code:
SELECT `name`, `alter`, `wohnort` FROM `users` WHERE MD5(`nickname`) = '$nickname'
Ich wüsste nicht, warum man bei eindeutigen Strings mit LIKE arbeiten sollte, da du ja sowieso keine der Möglichkeiten von LIKE mit deiner Abfrage ausgenutzt hast.
 
Das mit dem LIKE wurde jetzt auch nur so schnell hingeschrieben.

Sollte halt ein Beispiel sein damit es fürs Verständis besser klargemacht wird was ich eigentlich wollte.

Danke dir für deine Antwort, wird mir gut weiter helfen.

THX

Gruß andy
 
Zurück