Zum Forum springen
Benachrichtigungen
Alles löschen

PHP und MD5-Hash

12 Beiträge
4 Benutzer
0 Reactions
518 Ansichten
mikeloggo
Beigetreten: 27.05.2010

Hallo Leute, ich bräuchte mal eure Hilfe

Und zwar muss ich von einem Wort den MD5 Hash berechnen, weiß aber nicht wie ich das mit PHP machen soll.

es soll ca so aussehen:

Formular (hier gibt der User sein Wort ein)
Button, wo drauf steht MD5 Hashwert berechnen
Darunter dann wieder eine Formularzeile wo der MD5 Wert quasi reinkopiert wird nachdme man den Button gedrückt hat.

Kann mir hier wer helfen?

Lg


Antwort
Zitat
11 Antworten
spiegeltaler
Beigetreten: 06.05.2006

ungetestet:

Spoiler

<?php
$md="";
if (isset($_POST['plain'])) {
$md=md5($_POST['plain']); }
?>
<html>
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<input type="text" name="plain" size="50" />

<input type="submit" value="Hasch mich!" />

<input type="text" value="<?php echo $md; ?>" size="50" />
</form>
</html>


Antwort
Zitat
mikeloggo
Beigetreten: 27.05.2010

Aktuell schaut es bei mir so aus:

<body>
<form action="" method="post">
       <p>Passwort <input type="text" name="password" /></p>
       <p><input type="button value="MD5 Hash erzeugen" onclick="this.form.genhash.value='$username'" /></p>
<p><input type="submit" /></p></form></body>

Was natürlich nicht stimmt ist das $username, hier gehört die PHP variable rein, die ich von der vorherigen Seite bekomme.

Weiters soll es passieren, dass wenn ich auf Submit klicke, dass der Server den Hash mit dem pw in der DB vergleicht und dann auf eine Seite weiterleitet mit Anmeldung erfolgreich o.ä. wenn nicht dann gibts eben eine Fehlermeldung.

Weiß jemand wie ich das realisiere? bzw. eine logische Idee wäre ja auch was.

Lg


Antwort
Zitat
mikeloggo
Beigetreten: 27.05.2010

Original von spiegeltaler
ungetestet:

Spoiler

<?php
$md="";
if (isset($_POST['plain'])) {
$md=md5($_POST['plain']); }
?>
<html>
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<input type="text" name="plain" size="50" />

<input type="submit" value="Hasch mich!" />

<input type="text" value="<?php echo $md; ?>" size="50" />
</form>
</html>

Hi, danke erstmal das funktioniert. Nur wird da die Seite neu geladen und das sollte nicht sein . Das ist doch wegen des submit oder? Geht das auch irgendwie mit einem Onklick Button Event?


Antwort
Zitat
rhanarion
Beigetreten: 13.01.2011

Das ist ein ziemlich klassisches Problem der Webentwicklung und du scheinst leider sehr wenig Grundlagen zu beherrschen. Ich würde dir empfehlen daran zu arbeiten (z.B. per Tutorial oder Foren wie php.de).

Der Ansatz Passwörter zu hashen ist schon nicht schlecht, ohne Sicherheitsexperte zu sein bin ich mir allerdings ziemlich sicher, dass md5 mittlerweile als unsicher gilt und du mindestens sha1 nutzen solltest.

Dazu postest du HTML und Javascriptcode, beides hat nichts mit PHP zu tun (Was ist PHP?. Die korrekte Methode "md5" hat spiegeltaler ja schon gepostet. Keine Ahnung wieso du auf seinen Post nicht reagierst, ist quasi die perfekte Lösung für dein Problem. (Off topic: Passwort Felder in HTML haben einen eigenen Type.)


Antwort
Zitat
rhanarion
Beigetreten: 13.01.2011

Original von mikeloggo
Hi, danke erstmal das funktioniert. Nur wird da die Seite neu geladen und das sollte nicht sein . Das ist doch wegen des submit oder? Geht das auch irgendwie mit einem Onklick Button Event?

Die Seite wird immer neu geladen wenn du per PHP etwas bearbeitest, siehe den "Was ist PHP?" Link in meinem vorherigen Beitrag. Ein "onclick Button Event" hat nichts mit PHP zu tun sondern wird über JavaScript bearbeitet. Passworte per JavaScript zu behandeln ist allerdings da vollkommen clientseitig vollkommen falsch. Ohne neuladen kannst du es natürlich trotzdem per PHP verschlüsseln, dafür solltest du dir Grundlagen JavaScript, Grundlagen PHP anarbeiten und daraufhin AJAX anschauen.


Antwort
Zitat
spiegeltaler
Beigetreten: 06.05.2006

du scherzkeks, sag doch gleich, dass es um ein login geht...

zunächst brauchst du ne session um den user wiederzuerkennen,
dann ein db connect...
ein beispiel hier:

http://aktuell.de.selfhtml.org/artikel/php/loginsystem/

in deinem codeschnipsel sind auch ein paar ungereimtheiten:

1. type="text" --> type="password" sonst sieht man ja das pw beim eintippen...

2. du hast ein button und ein submit, du brauchst nur entweder/oder

3. der javascript onclick verweist auf ein objekt names genhash was es gar nicht gibt?!?!

4. wenn $username existiert, dann '$username' --> '<?php echo $username; ?>'

ich glaub am einfachsten solltest du dir mal ein tutorial durchlesen...

gruss c


Antwort
Zitat
mikeloggo
Beigetreten: 27.05.2010

Hallo, das alles hat nichts mit Sicherheit zu tun, sondern einen Workshop den ich zugeschanzt bekommen habe und er mich nicht interessiert das ganze nennt sich One Time Password. Alles einlesen will ich nicht deswegen habe ich gehofft, dass ich hier hilfe finde.

Mir ist schon klar, dass es eine Session benötigt, ein DB connect und das PW sollte nicht in Plain dort stehen. Aber es geht nur die Demonstration WIE es funktioniert.

Jetzt habe ich es eben so aufgebaut, dass der User zuerst im Browser seinen "Usernamen" eingibt. Danach bekommt er vom Server die Antwort ok User mit folgender ID vorhanden.

Danach (was ich oben gepostet habe) kommt er eben zu dem Formular, wo er sein Passwort eingibt, dass eben dann in einen Hash umgewandelt wird und der Server checkt ob es übereinstimmt. Mir ist auch klar, dass der Hash nicht ersichtlich sein soll, aber das alles ist nur zu Demo Zwecken quasi. Und da ich mich mit PHP und JavaScript eigentlich wenig bis garnicht auskenne (verbindung zur DB steht ) habe ich mir eben gedacht, ich frage hier nach. Und das alles in einer Woche lernen halte ich eigentlich für unmöglich.


Antwort
Zitat
rhanarion
Beigetreten: 13.01.2011

Jau, dann ist das alles aber eher ein Thread für [$ inside], du hast ja kein Interesse an der Thematik + dir wurde ausreichend geholfen.


Antwort
Zitat
sarc
Beigetreten: 06.06.2008

Hm... Brauchst du das Zeug später wieder? Vermutlich ja, wenn man dich schon auf den Workshop schickt... Dann solltest zumindest versuchen, dir in der Woche so viel wie möglich anzueignen... Wenn dus nie wieder brauchen wirst: Warum tust du dann überhaupt was dafür? ;)


Antwort
Zitat
mikeloggo
Beigetreten: 27.05.2010

Original von sarc
Hm... Brauchst du das Zeug später wieder? Vermutlich ja, wenn man dich schon auf den Workshop schickt... Dann solltest zumindest versuchen, dir in der Woche so viel wie möglich anzueignen... Wenn dus nie wieder brauchen wirst: Warum tust du dann überhaupt was dafür? ;)
Also es geht hier nicht um Arbeit sondern um Schule

Und ich habe meine 3 Prioritäten angegeben und keine bekommen. Und jetzt muss ich mich halt mit dem rumschlagen. ;)

Ja was anderes wird mir eh nicht überbleiben. Und ich tue es, weil ich doch ganz durchkommen will.


Antwort
Zitat
sarc
Beigetreten: 06.06.2008

Das ist fies... Dann hf mit der Arschkarte. :P


Antwort
Zitat