Ankündigung

Einklappen
Keine Ankündigung bisher.

Datenverschlüsseln

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Datenverschlüsseln

    Irgendwie bin ich zu blöd um die Beiträge bei Google zu dem Thema zu verstehen.
    Ich habe in einer Tabelle benutzernamen und gehashed Passwörter gespeichert.
    nach eingabe in ein Formular suche ich nach allen Daten mit dem eingegebenen Benutzernamen und erzeuge ein hash des eingegebenen Passworts mittels
    password_hash($pass, PASSWORD_DEFAULT).
    Das Problem ist, das ich keine Daten zurückbekomme weil sich der Hash Wert des eingegebenen Passworts bei jeder Eingabe verändert und NIE das selbe ist wie in der Datenbank gespeichert. hab das Passwort welches in der DB gespeichert wurde mit einer zufälligen Zeichenfolge und password_hash erzeugt. Wer kann mir nen Tipp geben.

  • #2
    Zum Abgleichen gibts:

    password_verify()
    https://www.php.net/manual/de/functi...ord-verify.php

    Kommentar


    • #3
      Dafür muss ich mittels SQL erstmal die Daten anfordern. Ich will aber WÄHREND der SQL abfrage gleichzeitig das Passwort überrpüfen so das erst keine Daten übermittelt werden falls das Passwort falsch ist.

      Kommentar


      • #4
        Das ist meine SQL Abfrage
        "SELECT * FROM `vermaechtniss` WHERE `vname`='" . $name ."' AND `pass`='".$pw3."'";
        $Name ist der eingegebene Benutzername und $pw3 das gehashte eingegebene Passwort

        Kommentar


        • #5
          Zitat von DarthFly Beitrag anzeigen
          Dafür muss ich mittels SQL erstmal die Daten anfordern.
          Ja und?

          Eine Anleitung dazu
          https://www.php-einfach.de/experte/p...e/loginscript/
          Ändere auch mal deinen Beitragstitel ab, denn ein Passwordhash ist nicht, was man gemeinhin unter Verschlüsselung versteht, da es nur in eine Richtung geht, aber nicht zurück.

          Kommentar


          • #6
            Zitat von DarthFly Beitrag anzeigen
            Dafür muss ich mittels SQL erstmal die Daten anfordern. Ich will aber WÄHREND der SQL abfrage gleichzeitig das Passwort überrpüfen so das erst keine Daten übermittelt werden falls das Passwort falsch ist.
            Das Problem daran seh ich jetzt nicht wirklich. Mit der Combo password_hash() und password_verify() musst du die Daten holen und dann abgleichen.

            Kommentar


            • #7
              Zitat von jonas3344 Beitrag anzeigen

              Das Problem daran seh ich jetzt nicht wirklich. Mit der Combo password_hash() und password_verify() musst du die Daten holen und dann abgleichen.
              Und ich würde gerne WÄHREND des Daten hohlen das Passwort abgleichen, so das nur dann Daten geliefert werden wenn das Passwort richtig ist.

              Kommentar


              • #8
                Und kannst du auch erklären weshalb? Aus Sturheit?

                Denn wie schon gesagt:

                Mit der Combo password_hash() und password_verify() musst du die Daten holen und dann abgleichen.
                Edit: Lesestoff:
                https://www.php.net/manual/de/faq.passwords.php

                Kommentar


                • #9
                  Ist doch gehopst wie gesprungen, du musst genau 1 mal auf die DB zugreifen.
                  Wenn du das wegen Leichtsinnigkeit nicht willst dann musst du eben ein weniger sicheres hahverfahren wählen.
                  MD5 erfreut da die Gemeinschaft der Hacker besonders gern.

                  Kommentar


                  • #10
                    Zitat von protestix Beitrag anzeigen
                    Ist doch gehopst wie gesprungen, du musst genau 1 mal auf die DB zugreifen.
                    Wenn du das wegen Leichtsinnigkeit nicht willst dann musst du eben ein weniger sicheres hahverfahren wählen.
                    MD5 erfreut da die Gemeinschaft der Hacker besonders gern.
                    wieso sollte es sicherer sein erst die Daten abzurufen und dann das Passwort abzugleichen?

                    Kommentar


                    • #11
                      Liest du auch mal die Themen die man dir hier verlinkt?

                      Kommentar


                      • #12
                        Zitat von DarthFly Beitrag anzeigen
                        Und ich würde gerne WÄHREND des Daten hohlen das Passwort abgleichen, so das nur dann Daten geliefert werden wenn das Passwort richtig ist.
                        Das geht halt nicht. Akzeptiere es, statt hier rumzuheulen.

                        Kommentar


                        • #13
                          Zitat von hellbringer Beitrag anzeigen

                          Das geht halt nicht. Akzeptiere es, statt hier rumzuheulen.
                          Ok ich hab es jetzt so gemacht wie ihr mir es empfohlen habt. Nur wie gesagt ich fände es sicherer wenn das Passwort nach eingabe verschlüsselt würde und die Abfrage wie folgt wäre: Select * from Tabelle where benutzername="Mustermann" AND Passwort="verschlüsseltes Passwort" Und nicht Select from * Tabelle where benutzername="Mustermann" und dann wird erst überprüft ob das Passwort stimmt. Trotzdem danke ich allen für ihre Antwort.

                          Kommentar


                          • #14
                            Zitat von DarthFly Beitrag anzeigen
                            Ok ich hab es jetzt so gemacht wie ihr mir es empfohlen habt. Nur wie gesagt ich fände es sicherer wenn das Passwort nach eingabe verschlüsselt würde
                            Naja, es zählen halt trotzdem die technischen Fakten und nicht deine emotionale Einstellung dazu.

                            Zitat von DarthFly Beitrag anzeigen
                            und die Abfrage wie folgt wäre: Select * from Tabelle where benutzername="Mustermann" AND Passwort="verschlüsseltes Passwort" Und nicht Select from * Tabelle where benutzername="Mustermann" und dann wird erst überprüft ob das Passwort stimmt. Trotzdem danke ich allen für ihre Antwort.
                            Das Passwort wird nicht verschlüsselt in der Datenbank gespeichert, sondern nur ein möglicher Hash-Wert davon. Und ein Angreifer kann, wenn alles korrekt ausgeführt wird, überhaupt nichts mit diesem Hash-Wert anfangen.

                            Kommentar


                            • #15
                              man kann ja werte auch nur mit hash hashen, wie dies bei prüfsummen üblich ist.

                              und weil es so schon ist und ich sonst keinen post geschrieben hättte:

                              https://www.heise.de/newsticker/meld...t-4554180.html

                              Kommentar

                              Lädt...
                              X