XeroXs
Vereinsmitglied10ideen.at
|
hab in einer tabelle einiges mit password() eingetragen damits verschlüsselt wird, möchts aber jetzt auslesen (was ja kein problem wäre) und in eine variable speichern.. (was auch kein problem wäre)..
auslesen will ichs natürlich so, das es nachher nicht mehr verschlüsselt ist.. und leider schaff ichs einfach nicht den richtigen syntax zusammenzubekommen.. hints ?
|
noledge
CWNE
|
how encrypted passwords work  der sinn hinter einem verschlüsseltem passwort ist, es NICHT MEHR entschlüsseln zu können... ich denk die password-funktion wird den md5 drüberlaufen lassen (einwegverschlüsselung, nur verschlüsseln möglich). selbes erreichst mit der php-md5-funktion. das wird bei so ziemlich allen passwörtern angewandt, vor allem in der unix welt. du gibst ein passwort ein, er verschlüsselt es und es kann nie wieder (*) entschlüsselt werden. stellt sich die frage: wie verwend ich das jetzt? der MD5-algorithmus ist so, dass er bei gleichem string IMMER die selbe folge von zeichen erzeugt. nur ein anderes zeichen erzeugt bereits einen völlig anderen hash. folglich: du nimmst ein passwort, verschlüsselst es, speicherst es. user gibt ein passwort ein, du lässt MD5 drüberlaufen, und vergleichst die _hashes_ miteinander. beispiel: das passwort "user" erzeugt den hash "0815". ein benutzer gibt als passwort "users" ein, hash wird "4711". du vergleichst die hashes, nicht ident, falsches passwort. benutzer gibt "user" ein, du erzeugst den hash "0815", hashes sind ident, passwort korrekt. die wahrscheinlichkeit, dass jemand ein passwort eingibt, das genau den selben hash erzeugt ist sehr klein, wenn auch nicht unmöglich. (*) entschlüsselt direkt nicht, allerdings kann mittels brute force ein passwort gefunden werden, dass den selben hash hat. tjo, kleiner ausflug in die einwegverschlüsselung  edit: du vergleichst dann beispielsweise $myrow[password] (aus der datenbank) mit md5($_POST["password"]) (aus dem formular)
Bearbeitet von noledge am 20.08.2002, 07:31
|
XeroXs
Vereinsmitglied10ideen.at
|
dacht ich mir schon... argl
|
XeroXs
Vereinsmitglied10ideen.at
|
ok folgendes... i hab ne tabelle wo die ganzen passwörter drinnen stehen.. weswegen ichs brauch.. i muss ein paar zeilen in an andern table kopiern.. dort wird mit md5 verschlüsselt.. jetzt is halt die frage ob das echt das selbe ist.. dann gehts sowiso..
weiß das wer genau?
|
funka
Legend ex-prophet(down below)
|
select user (oder hier true oder konstante  ) from users where password=PASSWORD('$pass') and user='$user' so ca verwendets man dann bei sql (glaub ich zumindest  - $user und $pass vorher zu checken (also addslashes() etc kann nie schaden)
|
XeroXs
Vereinsmitglied10ideen.at
|
des weiß i eh.. das prob is nur das des für die anwendung da ned geht..
|
XeroXs
Vereinsmitglied10ideen.at
|
ok grad getestet .. bei md5(bla) kommt was andres raus alls bei password(bla) 
|
funka
Legend ex-prophet(down below)
|
naja anwendung umbauen oder verifizieren und dann das plaintext pass was er eingeben hat weiter verwenden
|
XeroXs
Vereinsmitglied10ideen.at
|
wäre kein problem.. hier gehts aber um einträge die schon vorhanden sind.. kann ned einfach alle member löschen
|
funka
Legend ex-prophet(down below)
|
wenn die eintraege mit gecrypteten passes vorhanden sind siehe mein vorheriges pass
wenns um irgnedwelche groesseren aenderungen geht solltest das jeweilige script aufrufen sobald der user sich einlogt und sein plain text pass mal hergibt aber denoch waer natuerlich eine umstrukturierung besser
|
XeroXs
Vereinsmitglied10ideen.at
|
nachmal ganz langsam  i muss von einer tabelle den user verschieben in a andre.. dort wird aber anders verschlüsselt !
|
noledge
CWNE
|
jo, russische methode - "mitsniffen". wenn sich ein user erfolgreich einloggt, speicherst das passwort entweder plaintext oder so encrypted, wie du es brauchst, wo anders ab.
|
funka
Legend ex-prophet(down below)
|
problem erklaert problem geloest
hail to the interactivity of the al'mighty i.r.c. :P
|
bernhard
Little Overclocker
|
|
Jehul
Big d00d
|
du kannst ganz einfach de mysql-md5(password) funktion benutzen: list($md5) = mysql_fetch_row(mysql_query("SELECT PASSWORD('das_passwort')"));
|