MD5 generieren

Hmm nungut, aber ich denke ich würde dann auf einfachere Art und weise so etwas tun indem man einfach md5($user.$passwort) miteinander vergleicht und abspeichert, das lässt sich wenigstens noch in einer query vollziehen ohne Zusatzfunktion. Generell finde ich hat ein User aber verloren wenn ein Admin wirklich etwas gegen ihn hat und etwas gegen ihn Unternehmen will.

Aber falls ich mal mit Sensibleren Sachen zu tun habe werde ich an das hier denken xD
 
Also die Hashes zu vergleichen ist nun wirklich kein Problem, das wird man wohl nicht von Hand machen ;) Und einen MD5 oder SHA1 Hash zu knacken ist auch kaum ein Problem, dafür gibt es ja Rainbow Tables oder BruteForce Angriffe, welche selbst mit einem alten P4 3GHz ein 6-stelliges Passwort an einem Tag finden. Und Admins haben meistens größere Maschinen mit mehreren Kernen... Ich werd nächste Woche mal ausprobieren wie lange eine Dual QaudCore Xeon Maschine braucht um mein Passwort zu Bruteforcen :)
 
danke für eure antworten.

zum echo . da steht jetz nur noch ein =


aber wenn ich auf register klicke sagt FireFox immer noch Objekt nicht gefunden in der adresszeile steht

http://127.0.0.1/$PHP_SELF

Weil wie dein Vorposter da schon geschrieben hat, du in deinet ...action="$PHP_SELF"... stehen hast.
In dem Bereich ...action"register.php"... gibst du aus wohin gelinkt werden soll. ;)
 
Es geht ganz einfach um Datenschutz. Der Benutzer vertraut dir Daten an, die vor unbefugten Zugriffen zu schützen sind. Und falls es doch zu unbefugten Zugriffen kommt, sollten so sensible Daten wie Passwörter auch erst einmal unbrauchbar sein. Zudem ist es auch kein so großer Aufwand, wie viele möglicherweise denken:
PHP:
function generateSaltedHash( $str, $salt=null )
{
	if( is_null($salt) ) {
		$salt = substr(md5(uniqid(rand())), 0, 8);
	}
	return $salt.md5($salt.$str);
}

function checkSaltedHash( $str, $hash )
{
	return $hash === generateSaltedHash($str, substr($hash, 0, 8));
}

$hash = generateSaltedHash('foobar');
var_dump($hash);
var_dump(checkSaltedHash('foobar', $hash));
Obwohl der erzeugte Hash-Wert jedes mal vollkommen anders aussieht, ist er dennoch auf Korrektheit prüfbar. Die generateSaltedHash()-Funktion würde für die Erzeugung des Hash-Werts zur Speicherung in der Datenbank benutzt. Die checkSaltedHash()-Funktion würde dann zum Vergleich des eingegebenen Werts mit dem Datenbankwert verwendet.
Zudem könnte der nun 40 Zeichen lange Hash-Wert einen SHA-1-Hash-Wert suggerieren und vielleicht auf die falsche Fährte schicken. Aber nur vielleicht.
 
Wäre das viel sicherer als mein Lösungsansatz? Ich hab noch nicht viele beispiele gesehen, wie man Datensicherheit "gewährleisten" kann.
 
Dein Lösungsansatz (ich meine mich zu erinnern, dass er ebenfalls aus meiner Feder stammt) generiert lediglich eine zufällige Zeichenkette der gegebenen Länge mit den Zeichen des gegebenen Zeichensatzes. Mit Datenschutz (Datensicherheit ist etwas anderes) hat das direkt nichts zu tun.


Nachtrag: ich sehe jetzt erst, was du meinst. Ja auch diese Möglichkeit ist immer noch besser als den Hash-Wert des Passworts alleine zu speichern. Mein Vorschlag nutzt ja denselben Gedanken. Wenn allerdings der Zusatz geändert wird oder abhanden kommt, ist das Geschrei groß. Da finde ich meinen Vorschlag, den Zusatz gleich mitzuspeichern, besser.
 
Zurück