sorry für den Username aber das ist meine 4. Registrierung und die erste für die ich eine Aktivierungsmail bekam (keine Ahnung obs Probleme mit Yahoo gab). Ich habe eine Frage die mich nun schon seit Stunden verzweifeln lässt. Es klingt einfach scheint es aber doch nicht zu sein, zumindest bin ich mit meinen Kenntnissen überfordert.
Ich soll hierzu eine Datenanalyse machen, ursprünglich standen davor noch url und username, daher kommt es dass Benutzer1 PasswortA 2 mal benutzt, vielleicht einmal für Email und einmal für’s Forum.
Ich möchte nun alle Benutzer abfragen, die ein Passwort mehrmals benutzen, idealerweise mit dem Passwort, welches er doppelt benutzt hat.
Herauskommen soll hier also idealerweise:
Benutzer1, PasswortA
Benutzer3, PasswortB
Benutzer3, PasswortD
Ich hoffe mir kann jemand helfen . Es kommt öfters vor, dass mehrere Benutzer zufällig das gleiche Passwort benutzen. Dies ist hierfür aber irrelevant.
Idealerweise sollte das in einer gute Datenbank unmöglich sein!
Weil Du was lernen willst:
Weil man in ihr Passwörter WENIGSTENS einfach verschlüsselt - und zwar so, dass auch gleiche Passwörter unterschiedliche Kodierungen ergeben.
Das erzielt man indem im “PW-Feld” z.B. ein MD5-Hash über Username + Password + Salt berechnet und abgelegt wird … das Salt kann irgendein längerer, auch von user zu user verschieden großer - zufällig erzeugter String sein, den du auch mit in der User-Tabelle speicherst (der soll nur die entropie erhöhen, damit noch viel viel unterschiedlichere als unterschiedliche Hashs erzeugt werden).
Um Authentizitaet zu prüfen musst Du dann nur auf die Eingabe des Username + Password warten … und berechnest genau wie oben (mit dem sog. Salt) diesen Hash und vergleichst diesen mit dem in der DB.
Wir wollen Dich hier zu guter Arbeit ermutigen
In diesem Fall kannst du keine solche Abfrage stellen - aus gutem Grund
Das ist alles ganz einfach und die Frauen stehen drauf
Ganz ehrlich … Klartext-Passwörter in der DB sind Dein Problem …
mehrfach verwendete Passwörter deiner User sind NICHT Dein Problem.
Außerdem wäre es faltal wenn User B erfährt dass es noch einen User X gibt dessen Passwort auch “123456” ist