Frage zur Passwortverschlüsselung

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Hallo


    Ich setze mich momentan intensiv mit MySQL auseinander und bin nun an einen Punkt gestossen, wo ich nicht mehr weiter weiss: Passwortverschlüsselung


    -Welche Verschlüsselungen sind gut
    -Welche sind sicher, unter anderem in Sinne von zuverlässig
    -Wie entcrypten
    -Wie decrypten


    Mit ist das Ganze nicht ganz klar. Ich habe einfach ein String in einem MySQL Field, den ich bereits beim Erstellen des Accounts encrytet einspeichern will. Wäre um ein paar Ratschläge sher froh, da ich mich nicht mit den Vor- und Nachteilen und besonders der genauen Verwendung auskenne.


    MfG dUDA

  • Decrypten muss gar nicht sein, du kannst ja das angegebene Passwort verschlüsseln und das beim /login verschlüsseln und die abgleichen


    Kopier dir doch einfach die ecrypt(string[]) - funktion aus dem GF und benutze die


    Tion

  • Md5 mit zwischen strings und mehereren verschlüsselungen, damit auch die datenbank in dennen md5 hash + eingabe gespeichert sind nicht mehr weiter wissen.

  • Wenn es dir wirklich um sicherheit geht, würde ich dir Whirpool empfehlen. Die einzigen die ich sonst noch kenne sind MD5 und SHA512, die beide schon geknackt wurden. Wer sich jetzt denkt, das er ja nix verschlüsseln braucht, weils ja eh "nur" samp ist und dort nichts wirklich wichtiges gestohlen werden kann, der täuscht sich. Ich verweise dazu gerne mal auf einen Post von Y_Less aus dem englischen Forum:

    Yes, this is "only" SA:MP, but many people use the same passwords for everything, or a large number of things. What happens when your low security (because it's "only" SA:MP, who needs real security) server gets hacked and your user files, complete with registration emails and weakly hashed passwords, gets stolen? The hacker now has access to possibly hundreds of accounts because of your lack of security.


    Und ich bin der meinung das man als Scripter bzw Server besitzer dafür verantwortlich ist und sich da schon gedanken drüber machen sollte.


    Für Whirpool brauchst du allerdings das Whirlpool Plugin.
    Falls du nicht weiss wie du es machen sollst, meld dich einfach ich erkläre dir das gerne. Und denk immer daran das der string mindestens 129(128+1) Zeichen groß sein muss, gleiches gilt auch für die DB.


    Mfg.


    //Edit: Wie decrypten?
    Ich idealfall garnicht. Das decryptete passwort stellt immer ein gewissen sicherheitsrisiko da (in pawn vllt weniger als in php oder anderen systemen). Deshalb ist die einfachste methode:

    • Registrierung

      • Passwort verschlüsselt in der Datenbank speichern


    • Login

      • Verschlüseltes passwort aus der Datenbank holen und in einem String speichern
      • Das eingegebene passwort des Spielers verschlüsseln und in einem string speichern
      • beide strings vergleichen
      • Wenn gleich -> Login
      • Wenn nicht gleich -> falsches passwort

    The fact is, I am right. And if you think I'm wrong, you are wrong.

    Einmal editiert, zuletzt von maddin ()

  • Hallo


    maddin
    Ja, das ganze mach ich unter anderem auch wegen der Datensicherheit ;) Benutz jetzt auch Whirlpool, finde es aber ein wenig schade, für so etwas speziel ein Plugin zu laden, aber was tut man nicht alles für die User


    Tion
    Ja, das genau Prinzip und der Sinn ist mir unter der Dusche eingefallen, sonst würde ja das ganze Verschlüsseln überhaupt keinen Sinn haben


    Trooper
    Hatte das Prinzip nicht ganz verstanden, jetzt schon, folglich brauche ich gar keinen Code der in beide Richtungen funktioniert, danke aber ;)


    @[DT]Sinper
    Wurde MD5 nicht geknackt ?


    Benutz jetzt mal Whirlpool, teste es grad, was mir aber nicht klar ist, warum muss ein String mindestens 128, also 129 Bytes lang sein ? Er wird beim Encrypten zwar länger...sind 128 Bytes die Grundlänge und sagen wir ein Passwort mit 56 Bytes wird auf 128 Bytes aufgefüllt und dann encryptet ? Ist mir nicht ganz klar.
    Dank euch aber vielmals für die Mühe


    MfG dUDA
    Nice Weekend


    //Edit
    Ja, habe eben zuerst etwas falsch verstanden, dachte irgendwie, man müsse die encrypteten Strings decrypten, wäre ja aber sinnlos und ein Sicherheitsrisko. Teste jetzt grad Whirlpool. Danke