Hallo Community,
irgendwie will sich mein Passwort nicht hashen... ich hab leider alles wieder rausgenommen weil ich die schnauze voll hatte...
kann mir jemand helfen bitte das dasss passwort gehasht wird....
Code
else if(dialogid == Register)
{
if(response == 0)
{
SendClientMessage(playerid, COLOR_ERRORTEXT, " Du hast den Vorgang abgebrochen und wurdest automatisch gekickt.");
TogglePlayerControllable(playerid, 0);
Kick(playerid);
}
if(response == 1)
{
if(!strlen(inputtext) || strlen(inputtext) < -1 || strlen(inputtext) > 15 || strlen(inputtext) < 6)
{
ShowPlayerDialog(playerid, Register, DIALOG_STYLE_PASSWORD, "Los Santos Roleplay Community: Registrieren", "Bitte gib ein Passwort für deinen Account ein ({FF1E00}mind. 6 Zeichen{A9C4D4}):", "Registrieren", "Abbruch");
return 1;
}
new ForbiddenCharactersExist = 0;
for(new ac = 0; ac < sizeof(ForbiddenCharacters); ac++)
{
if(strfind(inputtext, ForbiddenCharacters[ac], true) != -1)
{
ForbiddenCharactersExist = 1;
break;
}
}
if(strlen(inputtext) > 15 || ForbiddenCharactersExist == 1)
{
ShowPlayerDialog(playerid, Register, DIALOG_STYLE_PASSWORD, "Los Santos Roleplay Community: Registrierung", "Dein Passwort muss mindestens 6 und maximal 15 Bustaben haben\nUnd darf nur auch Bustaben von A-Z und Zahlen von 0-9 Bestehen.", "Registrieren", "Verlassen");
return SendClientMessage(playerid, COLOR_ERRORTEXT, " Dein Passwort darf maximal 10 Zeichen haben und darf nur aus A-Z bzw. a-z und 1-9 inkl. 0 bestehen !");
}
new tmppass[64];
strmid(tmppass, inputtext, 0, strlen(inputtext), 255);
//Encrypt(tmppass);
OnPlayerRegister(playerid, tmppass);
ShowPlayerDialog(playerid, Sicherheitscode, DIALOG_STYLE_MSGBOX, "Los Santos Roleplay Community: Login", "Herzlich Willkommen in unserer Community.Du hast dich erfolgreich registriert.\n\nMit einem Klick auf Login kannst du dich einloggen.", "Login", "Verlassen");
}
return 1;
}
Alles anzeigen
Code
public OnPlayerRegister(playerid, password[])
{
StuffInfo[sNeuUser] += 1;
if(IsPlayerConnected(playerid))
{
new string[128],
playername[MAX_PLAYER_NAME];
GetPlayerName(playerid, playername, sizeof(playername));
format(string, sizeof(string), "%s", password);
strmid(PlayerInfo[playerid][pKey], string, 0, strlen(string), 255);
format(string, sizeof(string), "INSERT INTO `users` (`Name`, `Password`) VALUES ('%s', '%s')", playername, PlayerInfo[playerid][pKey]);
self_mysql_queryEx(string);
format(string, sizeof(string), "UPDATE `users` SET `RegisterDatum`='%d' WHERE `Name`='%s'", gettime(), playername);
self_mysql_queryEx(string);
Alles anzeigen
Das wäre erstmal Register...
Login:
Code
if(CheckPasswort(playerid, inputtext) == 1) // Wir holen uns das Passwort aus der MySQL Datenbank und überprüfen es mit dem angegebenen passwort.
{
if(NotJoin == 1)
{
format(string, sizeof(string), "Du kannst dich erst nach %d Sekunden wieder einloggen.\n\nBitte warte eine Weile und gibt dann dein Accountpasswort ein.",OffPickup[StepID][OffZeit]);
ShowPlayerDialog(playerid, Login, DIALOG_STYLE_PASSWORD, "Login", string,"Login","Abbruch");
return 1;
}
strmid(PlayerInfo[playerid][pKey], inputtext, 0, strlen(inputtext), 255);
OnPlayerLogin(playerid); //Der Spieler wird "geladen", speich es werden seine Daten aus der Datenbank geholt und in variablen gespeichert um diese im Skript zu verwenden.
return 1;
}
else
{
ShowPlayerDialog(playerid, Login, DIALOG_STYLE_PASSWORD, "Los Santos Roleplay Community: Passwort Falsch", "Das eingegebene Passwort ist Falsch, bitte versuche es erneut.","Login","Verlassen");
return 1;
}
Alles anzeigen
Code
stock CheckPasswort(playerid,passwort[]){
new query[128],sendername[MAX_PLAYER_NAME];
GetPlayerName(playerid,sendername,sizeof(sendername));
mysql_real_escape_string(passwort, passwort);
mysql_real_escape_string(sendername, sendername);
format(query,sizeof(query),"SELECT `Password` FROM `users` WHERE `Name` = '%s' AND `Password` = '%s'",sendername,passwort);
self_mysql_queryEx(query);
mysql_store_result();
if(mysql_num_rows()) { mysql_free_result(); return true; }
else { mysql_free_result(); return false; }
}
Alles anzeigen