Veränderte Passwortabfrage

Started by Aragon4868, August 18, 2005, 09:39:41 AM

Previous topic - Next topic

Aragon4868

Hallo zusammen.

Wenn ich den nachstehenden Code richtig verstehe, dann ist es doch egal, in welcher Art das Passwrot in der DB abgelegt wurde, er überprüft es und ändert es ggf, oder?

Also auf gut deutsch, wenn ich an die Passwortstelle in der DB "test" als PW eingebe, müsste es das Loginscript doch erkennen und mich rein lassen, oder?

if ($user_settings['passwordSalt'] == '')
{
// YaBB SE style encryption.
$other_passwords[] = crypt($_REQUEST['passwrd'], substr($_REQUEST['passwrd'], 0, 2));
// Basic MD5 hash... used by a lot of systems.
$other_passwords[] = md5($_REQUEST['passwrd']);
// Basic sha1 hash - used by at least one other system.
$other_passwords[] = sha1($_REQUEST['passwrd']);
// SMF 1.0/1.0.x style hashing.
$other_passwords[] = md5_hmac($_REQUEST['passwrd'], strtolower($user_settings['memberName']));
// No encryption at all?
$other_passwords[] = $_REQUEST['passwrd'];


Vielen Dank für eure Hilfe im Voraus

asskie

wenn du mit phpmyadmin in deine db gehst und dort bei passwort test eingibst und dann dich im forum einloggen willst, dürfte es nicht klappen, da das pw verschlüsselt abgespeichert wird.

Aragon4868

Was soll dann dieser Eintrag?

// No encryption at all?
$other_passwords[] = $_REQUEST['passwrd'];

Weiss denn jemand wie die neuste Überprüfung des Passworts aussieht? Denn dann könnte ich mein PW direkt so ablegen.

mediman

du hast doch den quelltext vor der nase ...

die anderen methoden sind für "post converted" boards und werden beim ersten login überschrieben ...

passwort ist grob gesagt in folgender form abgelegt

username in kleinbuchstaben + password in sha-1

simples beispiel

Username: Blabla
Passwort: Blublu

Passwort wäre blablaBlublu

in code

$user = "Blabla";
$pw = "Blublu";
$pass = strtolower($user).$pw;

das verschlüsselte password aus der ist z.b. $password

also prüft

if (sha1($pass) === $password)

ob die sache passt.

mediman
My Projects: http://ticker-oase.de 
Please do not PM me with support requests.

Aragon4868

Vielen dank. Dann hatte ich den Quelltext falsch verstanden. So firm bin ich dann halt auch wieder nicht  ;D

Ich werde deinen Tipp mal ausprobieren

Aragon4868

Hat leider nicht geklappt.

Ich mache es zur Zeit so:

$login1 = 'Test';
$passwort1 = sha1(test);

$pass = strtolower($login).$passwort1;

echo "Password: $pass<p>";


Die Checksum die hierbei raus kommt ist nicht die selbe, wie die, die in der DB des Forums liegt. Habe ich hier noch einen Denkfehler?

Aragon4868

Hallo zusammen und Danke für eure Hilfe.

Ich habe meinen Fehler gefunden. Ich habe das SHA1 falsch angewendet. Nun funktioniert es.

Wie gesagt. Danke nochmals für das richtige Wegweisen.

mediman

Hast sicherlich gemerkt, dass dein Code nur ein Teil des Strings codiert hatte ...
Hatte mich auch missverständlich ausgedrückt, denn mit:

username in kleinbuchstaben + password in sha-1

war

(username in kleinbuchstaben + password) in sha-1 gemeint.
My Projects: http://ticker-oase.de 
Please do not PM me with support requests.

Advertisement: