Trinity Core - Vershclüsselungs Probleme

07/26/2015 00:58 gearsecond26#1
Hallo Leute :)

Und zwar geht es darum das mein PHP Script das die Accounts auf der RegistrationPage meiner Server Homepage iwelche Probleme mit der Passwort Verschlüsselung hat bzw eher die TrinityCore die keine sha1 Verschlüsselung erkennt. -.-

Ich benutze eine 3.3.5 Trinity Core.

Dies ist das Script meiner Site:

<?php
$verbindung = mysql_connect("localhost", "root" , "hierdaspw")
or die("Verbindung zur Datenbank konnte nicht hergestellt werden");

mysql_select_db("auth") or die ("Datenbank konnte nicht ausgewählt werden");

$username = $_POST["username"];
$passwort = $_POST["passwort"];
$passwort2 = $_POST["passwort2"];

if($passwort != $passwort2 OR $username == "" OR $passwort == "")
{
echo "Eingabefehler. Bitte alle Felder korekt ausfüllen. <a href=\"eintragen.htm\">Zurück</a>";
exit;
}


$passwort = sha1($passwort);


$result = mysql_query("SELECT id FROM account WHERE username LIKE '$username'");
$menge = mysql_num_rows($result);

if($menge == 0)
{
$eintrag = "INSERT INTO account (username, sha_pass_hash) VALUES ('$username', '$passwort')";
$eintragen = mysql_query($eintrag);

if($eintragen == true)
{
echo "Benutzername <b>$username</b> wurde erstellt. <a href=\"login.htm\">Login</a>";
}
else
{
echo "Fehler beim Speichern des Benutzernames. <a href=\"eintragen.htm\">Zurück</a>";
}


}

else
{
echo "Benutzername schon vorhanden. <a href=\"eintragen.htm\">Zurück</a>";
}


Dies funktioniert auch alles super(Accounts werden in der Account TAble in der auth db erstellt und die Passwörter sha1 verschlüsselt!)

Nun versuche ich mich aber ingame mit so einen Account einzuloggen und es sagt mir das die Accountdaten falsch sind. Die über die Konsole erstellten Accounts funktionieren dennoch. Dazu sehe ich in der Account Table in der "sha_pss_hash" das die vershclüsselten Passwörter der Accounts die mit der Konsole erstellt wurden nur Großbuchstaben beinhalten und die Passwörter der Accounts die über meine SIte erstellt wurden sind mit Kleinbuchstaben verschlüsselt!

Ich habe das Passwort "test" zum Test bei der Registrierung eingegeben und es kam die sha1 Verschlüsselung "098f6bcd4621d373cade4e832627b4f6" dabei raus. Dies habe ich dann mit einem sha1 verschlüssler aus dem internet verglichen und es scheint richtig und sha1 verschlüsselt zu sein. Die Trinity Core gibt ja auch in ihrem Wiki an sha1 zu verschlüsseln aber trotzdem scheint es nicht richtig zu sein.

Bin richtig verzweifelt und würde mich über Hilfe freuen. :)


MfG
07/27/2015 08:54 Kaev <3#2
TrinityCore "salzt" die Passwörter noch.
Wenn dein Username also gearsecond26 lautet und dein Passwort abc123 lautet, dann musst du gearsecond26:abc123 in SHA1 encrypten.
Kann man hier nachlesen: [Only registered and activated users can see links. Click Here To Register...]
07/29/2015 00:01 gearsecond26#3
Haha ich hatte es sogar da nachgelesen aber bei "sha1" wütend aufgehört zu lesen weil ich es versucht habe mit sha1 zu verschlüsseln. Das danach das Format username:password beschrieben wird habe ich in der Ungeduld (nach stundenlangem Kopfzerbrechen und erfolglosem rumgoogeln... .__.) überhaupt nicht gelesen bzw gesehen ^^ Tut mir sorry :)

Trotzdem dickes thx für den kleinen Denkanstoß und dem folgenden Facepalm meinerseits ;)
07/29/2015 10:41 tschulian#4
$result = mysql_query("SELECT id FROM account WHERE username LIKE '$username'");

Mach lieber " = "

Quote:
Originally Posted by Kaev <3 View Post
TrinityCore "salzt" die Passwörter noch.
Wenn dein Username also gearsecond26 lautet und dein Passwort abc123 lautet, dann musst du gearsecond26:abc123 in SHA1 encrypten.
Kann man hier nachlesen: [Only registered and activated users can see links. Click Here To Register...]
Ich hätte jetzt vieles Vorgeschlagen, aber nichts bezogen auf salts.
Aber gut zu wissen! :) danke auch meinerseits.