• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Passwort entschlüsseln!

djfabi

Mitglied
Hallo :)

ich habe da ein sehr großes Problem :(

Ich benutze diesen Code, um Passwörter verschlüsselt in die DB zu schreiben:
PHP:
if($password1 == $password2){    
$pw = $password1;
}

$lg = strlen($pw);


for($i=0; $i<$lg; $i++){    
$char = substr($pw, $i, 1);    
$code = ord($char);    
$newcode = $code + 3;    
$newchar = chr($newcode);
  }

$salt = md5(mt_rand());
$hash = md5($salt, $newchar);
$newhash = crypt($hash);

In der DB wird $newhash und $salt gespeichert!

Beim Login wird einfach dieser Code wieder genutzt und dann die beiden Hash'e' mit einander verglichen, das klappt auch!

So jz aber mein Problem, gibt es irgenteinen Weg das nun wieder im Klartext auszugeben?

Also das richtige Passwort?

Nicht irgentein Hash sondern das PW im Klartext?

Bitte helft mir, ich bin am verzweifeln.. :/

Danke im Vorraus

P.S. Wie der Script genau funktioniert hab ich in etwa hier beschrieben: http://www.html.de/php/45025-verschluesselung-mit-str_replace.html
 
Ich verstehe die Frage nicht. Es ist doch der Sinn der Sache, dass Hashes nicht umkehrbar sind.

Hash-Werte sind keine Verschlüsselungen.
 
Wie bekomme ich ein md5 wieder Rückgangig?
Wie bekomme ich ein crypt wieder Rückgangig?
Das ist es kurz ausgedrückt!

Hash werte sind die Ergebnisse einer Verschlüsselung, oder?
 
Nein.

- Hashfunktion

Eine denkbare Hashfunktion wäre, den ersten Buchstaben des Namens zu liefern.

Code:
Peter → P
Frank → F
Paul  → P
Karin → K
...

Du fragst gewissermaßen gerade, wie du aus dem Hash P wieder Peter „entschlüsseln“ kannst. Gar nicht. Die Informationen stecken in dem simplen P schlicht und ergreifend nicht drin.


Bei Hashfunktionen wie md5 ist das auch so. Dort ergibt sich lediglich durch die Komplexität der Funktion der Aspekt, dass zwei unterschiedliche Eingaben weit weniger häufig denselben Hashwert liefern. Das wiederum bedeutet, dass du (bei kurzen Eingaben wie Passwörtern) höchstwahrscheinlich die Originaleingabe gefunden hast, wenn du eine Eingabe gefunden hast, die den gesuchten Hash ergibt.

Wie findest du diese Eingabe? Alle möglichen Eingaben durchprobieren. Für md5 und Eingaben, die bis zu 8 Zeichen oder so lang sind und nur aus gewissen Zeichen bestehen, gibt es dafür bereits fertige Listen, sogenannte Rainbow Tables.

- Rainbow Table
 
Zuletzt bearbeitet:
Kann mich dunkel entsinnen, dass es auf unix-systemen ein Kommandozeilentool namens "John" gibt, das per Brut-Force Hashwerte knackt. Wenn es davon aktuelle Versionen gibt, was ich vermute, sollte es kein Problem sein, die PWs wieder herzustellen oder zumindest funktionsfähige zu generieren.
 
Hallo,

ganz einfach, wie @mermshaus sagt das geht nicht und gerade doppelt MD5 hast keine chance und vor allem nicht öffentlich im netz.
Wenn dann darfst halt nicht MD5 nutzen :O).

Cheffchen
 
Was wiederum bestätig und auch schon lang bekannt ist das md5 unsicher ist. Verwendet zum Hashen besser sha256.
Falls du was Entschlüsseln willst solltes du es auch Verschlüsseln und nicht hashen.

Mfg Splasch
 
Warum sha256 und nicht gleich 512? Ohne salt ist hashen sowieso nutzlos. Mit kompliziertem Salt ist auch md5 sicher.

Wozu willst du denn Passwörter zurückfinden? Gib mir den Namen deiner Internetseite: Damit ich mich dort niemals anmelde.
 
Um das vllt. noch mal einigen klar zu machen: Ich will keine Passwörter knacken/hacken!
Ich will einfach das Passwort was der User in meiner DB verschlüsselt hat, im Klartext wieder ausgeben und es ihm so möglich machen, es zu ändern!
Dafür wollte ich aber das alte Passwort haben ;)

Ich benutze um es zu verschlüsseln:
md5();
crypt();
ein zufaällig generierten Salt (mt_rand), der wiederum wieder mit md5() verschlüsselt ist,
und ich benutze noch ein Methode, die alle Buchstaben erhöht, also aus a z.B. ein b macht.
So ist es fast unknackbar, finde ich!

Aber wie bkomme ich das jz in den Klartext :DD

Danke übrigens für die schnellen/vielen Antworten :D
 
Alsoooooo :D

Ich hab das ja jz schon 2 Mal geschrieben aber nochmal:
Ich will das PW vom User, welches In der DB verschlüsselt steht wieder in den Klartext bekommen :D
Wenn er es zb vergessen hat! :D


_________________

Ok hab mal ein bisschen gegooglet, und mir selber an den Kopf geklatscht!

Wiesooooo :D


Naja hat sich erledigt, meine verschlüsselung sollte aufjedenfall sicher sein..

Danke für die vielen Antworten :D
 
... Ich will das PW vom User, welches In der DB verschlüsselt steht wieder in den Klartext bekommen :D
Wenn er es zb vergessen hat!

Wenn er sein Passwort vergessen hat, dann lass den User seine eMail-Adresse (Und evtl. den Nicknamen) angeben und schicke ihm an diese Adresse eine Mail mit einem Link-Token.
Sobald der User auf den Link-Token klickt, leitest ihn auf eine Seite, wo er sich ein neues Passwort festlegen kann.

Somit musst du das Passwort nicht irgendwo im Klartext speichern, bzw. zurückrechnen oder was auch immer!
 
Zurück
Oben