Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Passwörter verschlüsseln, nötig?

Einklappen

Neue Werbung 2019

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

  • [Erledigt] Passwörter verschlüsseln, nötig?

    Guten Tag,

    ich habe ein Registrierungsformular in dem u.a das Passwort in die Datenbank in einer Tabellenspalte gespeichert wird. Das Passwort steht, ungewohnt für mich, unzensiert, nackt und eben unverschlüsselt da! Irgend was sagt mir, dass man das nicht machen sollte, dass das ein Sicherheitsrisiko wäre, dass es umprofessionell ist und dass es einen Grund geben muss, wieso andere die Passwörter oft im MD5 Format abspeichern.

    Welche Gründe gibt es für mich Passwörter zu verschlüsseln?

  • #2
    Man speichert A) keine Passwörter mit md5 haha sondern eher mit blowfish etc.
    B) da User in der Regel ein Standard Passwort besitzen was sie auf mehreren Websites verwenden, kann im Fall das ein Hacker das Passwort einfach aus deiner Datenbank liest wo auch immer er will sich Einloggen. Steht in der Datenbank aber nur ein hash kann er damit nichts anfangen solange er nicht das eigentliche Passwort herausfindet
    - Laravel

    Kommentar


    • #3
      Warum und Wie: http://php.net/manual/de/faq.passwords.php

      Außerdem: Passwörter Hasht man.
      Verschlüsseln = Zeichenketten werden unkenntlich gemacht, lässt sich rückgängig machen
      Hashen = Zeichenketten werden unkenntlich gemacht, lässt sich nicht rückgängig machen
      [COLOR=#A9A9A9]Relax, you're doing fine.[/COLOR]
      [URL="http://php.net/"]RTFM[/URL] | [URL="http://php-de.github.io/"]php.de Wissenssammlung[/URL] | [URL="http://use-the-index-luke.com/de"]Datenbankindizes[/URL] | [URL="https://www.php.de/forum/webentwicklung/datenbanken/111631-bild-aus-datenbank-auslesen?p=1209079#post1209079"]Dateien in der DB?[/URL]

      Kommentar


      • #4
        Zitat von tera3yte Beitrag anzeigen
        Man speichert A) keine Passwörter mit md5 haha sondern eher mit blowfish etc.
        B) da User in der Regel ein Standard Passwort besitzen was sie auf mehreren Websites verwenden, kann im Fall das ein Hacker das Passwort einfach aus deiner Datenbank liest wo auch immer er will sich Einloggen. Steht in der Datenbank aber nur ein hash kann er damit nichts anfangen solange er nicht das eigentliche Passwort herausfindet
        Solange er sich aber kein Zugriff auf phpMyAdmin ermöglicht, besteht da keine Gefahr oder? Ich werd sie trotzdem verschlüsseln, muss bloß herausfinden wie sowas funktioniert.

        Kommentar


        • #5
          siehe php-funktion hash(). Und man hasht, verschlüsseln ist was anderes. und bitte kein md5....
          Current Projects: http://www.welten-buch.de, http://neu.zooadoo.de

          Kommentar


          • #6
            edit: Als Antwort auf http://www.php.de/820674-post4.html

            Es sei denn, du bist anfällig für SQL-Injections, andere Fehler in deinem Code, einem Hack deines Serverbetreibers, unvertrauenswürdige Freunde oder Mitarbeiter etc.

            Einige der größten, IT-Bezogenen Firmen sind bereits Opfer von peinlichen und finanziell kritischen Angriffen oder Leaks geworden. Wenn die es nicht schaffen, absolute Sicherheit (jaja, ich weiß, sowas gibts nicht) zu schaffen, dann schaffst du es garantiert auch nicht (zumal du nicht der einzige Angriffsvektor bist). Was du tun kannst, ist es alles was in deiner Macht steht zu tun, die Daten deiner Nutzer (auch wenn es nur der private Kreis ist) zu schützen.


            btw. Du willst die Passwörter immernoch nicht verschlüsseln, sondern hashen.

            Wenn du php 5.5 oder höher benutzt:
            http://php.net/manual/en/faq.passwords.php

            Ansonsten:
            https://github.com/ircmaxell/password_compat
            Zitat von nikosch
            Naja, anscheinend spricht die Steckdose kein HTTP. LOL

            Kommentar


            • #7
              dem kann ich mich nur anschließen. Du wirst es auch nicht gut finden, wenn irgendwo deine email und dein standardpasswort für amazon, online banking, ebay, facebook, twitter etc. zusammen auftaucht. der fehler muss nichmal an deinem code liegen. und selbst wenn du 100 verschiedene passwörter nutzt, tut es mindestens einer deiner freunde/user nicht.
              Current Projects: http://www.welten-buch.de, http://neu.zooadoo.de

              Kommentar


              • #8
                PHP-Code:
                $password "Passwort";
                $password_hash crypt($password);
                echo 
                $password_hash;

                if(
                crypt($password_enter$password_hash) == $password_hash) {
                    echo 
                " Passwort korrrrrrekt.";

                Ist das eine sichere "Hash"-Methode, welche ich da im Internet gefunden hab? Ich hab mir MD5 und Sha256 (ich glaub es hieß so) angeschaut und war erschrocken, wie leicht es ist diesen Hash wieder umzuwandeln. Man braucht nur mal "Md5/Sha256 Cracker" googlen.

                Kommentar


                • #9
                  Deswegen bauen auch viele auf weitere Sicherheitenzum Thema Login.

                  Facebook z.B. prüft wo Du dich anmeldest. Würdest Du dich in Deutschland anmelden und 30 Minuten später in China würde man dich sperren, dich per Mail Informieren und eine Sicherheitsfrage stellen.

                  Kommentar


                  • #10
                    Zitat von String Beitrag anzeigen
                    Ist das eine sichere "Hash"-Methode, welche ich da im Internet gefunden hab?
                    Bitte beachten Sie: Wenn sie crypt() benutzen um Passwörter zu verifzieren müssen sie dafür sorgen Timing Attackten zu verhindern. Dies kann durch Stringvergleiche mit konstanter Laufzeit gesehen. Jedoch bieten die PHP Vergleichsoperatoren == und === keine konstante Laufzeit. Da jedoch password_verify() eine konstante Laufzeit besitzt ist es stark empfohlen die native Passwort Hashing API zu benutzen, wenn dies möglich ist.
                    (Quelle: Doku, siehe oben geposteten Link)

                    Nutze wenn du kannst password_hash() und das Thema ist erledigt.

                    Kommentar


                    • #11
                      Zitat von monolith Beitrag anzeigen
                      (Quelle: Doku, siehe oben geposteten Link)

                      Nutze wenn du kannst password_hash() und das Thema ist erledigt.


                      Also... mit dieser Methode kann ich Passwörter hashen, richtig?

                      password_hash($pw)

                      Wie würde ich dann die Hash wieder umformen?

                      Kommentar


                      • #12
                        Zitat von VPh Beitrag anzeigen
                        Verschlüsseln = Zeichenketten werden unkenntlich gemacht, lässt sich rückgängig machen
                        Hashen = Zeichenketten werden unkenntlich gemacht, lässt sich nicht rückgängig machen
                        Oder du sagst mal, was du mit "umformen" meinst.
                        [COLOR=#A9A9A9]Relax, you're doing fine.[/COLOR]
                        [URL="http://php.net/"]RTFM[/URL] | [URL="http://php-de.github.io/"]php.de Wissenssammlung[/URL] | [URL="http://use-the-index-luke.com/de"]Datenbankindizes[/URL] | [URL="https://www.php.de/forum/webentwicklung/datenbanken/111631-bild-aus-datenbank-auslesen?p=1209079#post1209079"]Dateien in der DB?[/URL]

                        Kommentar


                        • #13
                          Zitat von VPh Beitrag anzeigen
                          Oder du sagst mal, was du mit "umformen" meinst.

                          Ja stimmt, könnte man einen Hash wieder in Menschensprache umwandeln, hätte das wenig Sinn Ich muss ja das eingegebene Passwort hashen und DANN beide Hashs miteinander vergleichen...

                          Also gut, dann nehm ich password_hash() um die Daten zu schützen, danke!

                          Kommentar

                          Lädt...
                          X