Zurück   RR:Board > Computer > Programmierung & Entwicklung > Programmier Tutorials

ASP, C/C++/C#, Delphi, Java, Assembler (ASM), .NET Framework
Thema geschlossen
 
Themen-Optionen Thema durchsuchen

[PHP] - Passwort verschlüsselung in MYSQL [Advanced]
Alt 08.05.2007, 18:46   # 1
badloader
Final Releaser
rot rot rot rot rot 
Bewertung:
badloader hat 2500 bis 5000 Punktebadloader hat 2500 bis 5000 Punktebadloader hat 2500 bis 5000 Punktebadloader hat 2500 bis 5000 Punktebadloader hat 2500 bis 5000 Punktebadloader hat 2500 bis 5000 Punktebadloader hat 2500 bis 5000 Punktebadloader hat 2500 bis 5000 Punktebadloader hat 2500 bis 5000 Punktebadloader hat 2500 bis 5000 Punkte
Registriert seit: May 2005
Internet: >=50Mbit
Beiträge: 1.930
Power: 29
Hallo zusammen,

sicher hat sich jeder Anwender schon einmal gedacht, wie er wohl am besten seine User schützen kann (sofern User vorhanden sind).

Sicher habt seit ihr bei weitergehenden Suchen auf die Funciton md5() gestoßen. Doch ist diese Function ausreichend? Meiner Meinung und Erfahrung nach: Nein.

md5 ist eine weit verbreitete Verschlüsselungmöglichkeit, die fast ausschließlich genutzt wird.

Wenn man nun ein Passwort md5 verschlüsselt kann ich euch sagen, dass sobald einer den Hash hat, er auch euer passwort geknackt hat. (Raindbowtables, Wordlists, etc)

Deshalb kann man sein passwort einfach schützen:

In MYSQL eine Spalte "salt" hinzufügen. Sie dient zur doppelten Verschlüsselung.

Das passwort besteht aus: md5(SALT + md5(Passwort);

Der Login funktioniert beispielsweise so:
Code:
if (isset($_POST['nick']) && isset($_POST['pass'])) { $db->query("SELECT salt, password, rights FROM $table WHERE nick = '".$_POST['nick']."' LIMIT 1"); $result = $db->fetch(); if (isset($result[0]) && isset($result[1]) && ($result[1] = md5($result[1].md5($_POST['pass']))) && ($result[2] >= $rights)) { // SESSION SETZEN oder so } }
Einen User hinzufügen kann man über:
Code:
/** * Generiert einen zufälligen Salt mit [a-z] ^ [0-9] (6 Zeichen lang: Wegen DB) * Beispiel für $key: j6h42r * * @return string */ function register_generate_salt () { $pattern = "1234567890abcdefghijklmnopqrstuvwxyz"; for ($i=0; $i<10; $i++) { if (isset($key)) $key .= $pattern{rand(0,35)}; else $key = $pattern{rand(0,35)}; } return $key; } /** * Generiert den Salt und fügt ihn zum passwort * Eintragung der Parameter in die DB * * @param string $nick * @param string $password * @param string $ps3id */ function register_add_user ($nick, $password, $else) { global $db; $salt = register_generate_salt(); $pass = md5($salt.md5($password)); $sql = "INSERT INTO users (nick, salt, password, ps3id) VALUES( '".$nick."', '".$salt."', '".$pass."', '".$else."') "; $db->query($sql); echo "Der Benutzer wurde erfolgreich angelegt <br>"; echo "Sie können sich jetzt einloggen"; }
Ich weiß nicht ob's jemandem hilft aber würde mich freuen!

Bedanken oder bewerten könnt ihr natürlich auch!

Gruß bad
  badloader ist offline  
Thema geschlossen

RR:Board > Computer > Programmierung & Entwicklung > Programmier Tutorials > [PHP] - Passwort verschlüsselung in MYSQL [Advanced]

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir erlaubt, Anhänge anzufügen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

vB Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[RCE] Alt.Binz Passwort Verschlüsselung MasterJulian Sicherheit & Datenschutz 2 30.05.2011 18:26
WLAN: WPA-Verschlüsselung in 1 Minute geknackt FranzHose Netzwelt News 7 30.08.2009 11:26
MySQL Passwort Hash bruten / Hash Art °EraZoR° Sicherheit & Datenschutz 2 19.04.2009 12:01
[C/C++] - Borland 2006 & Mysql verbindung Passwort Problem Epidrome Programmierung & Entwicklung 0 03.06.2007 22:47
mysql passwort ändern und dann in das acp steigen! themark Sicherheit & Datenschutz 3 26.05.2005 17:50



Alle Zeitangaben in WEZ +1. Es ist jetzt 20:29 Uhr.
vBulletin Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.