Schönes Plugin nur kapiere ich den Untershcied nicht kannst du es nochmal genau sagen?
Beiträge von ChristianW
-
-
Echt Jez ich kann kein Dini mehr

Ja der key und salt sind 129 deshalb check ich das nicht?
-
bei dir steht da sql_get und so
Dini_get ect ist was anderesHaha es gibt kein Dini_Get
Ja es hängt mal wieder ein Query am hashedpw?
http://www.rgn.nicowiss.de/hash3.JPG -
sry weiter kann ich dann auch nicht helfen , ich bin eher ein dini typ

Das hat doch garnichts mit SQL oder Dini zu tun

Ausserdem will ich das nicht dehashen sondern mit dem Salt vergleichen oder wie man das nennt. Wnen ich das de end hashe bringt mir das gesamt System = 0
-
Also das password muss ja beim logging erstmal DE-HASHT werden , hast du dies gemacht?
Ja ist soga gleich
-
Wie meinst du das den ?
gibs du richtiges passwort ein und da steht das es falsch ist oder wie?Ja das steht da und gestern Abend ging es ja noch
Edit:
Das hashpw und das Aus der Datenbank sind beides gleich also liegt es iwie hierran:
sql_get_field(result, 2, PlayerInfo[playerid][Password]);
if(!strcmp(inputtext,PlayerInfo[playerid][Password],true)) -
hast du auf 0.3x geupdatedt?
-
Hey Com,
Gestern habe ich mühsam mit Blackace das mit dem Hashen gefixxt
Jetzt habe ich weiter gescriptet aber nichts an den Hashzeug da rumgefummelt, da ich davon keine Ahnung habe.
So Problem, Passwort ist falsch:case DIALOG_REGISTER:
{
new name[64 + sizeof(Servername)], namex[19 + sizeof(Servername)];
format(namex,sizeof(namex),"Registrierung auf %s",Servername);
format(name,sizeof(name),"Bitte wähle ein Passwort\num der %s Community beizutreten:",Servername);
if(response)
{
if(!strlen(inputtext)) return ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, namex, name, "Anmelden", "Abbrechen"), US_PlayerInfo[playerid][login_count]++;
{
new salt[129], key[129], hashedpw[H_WHIRLPOOL_LEN], _string[450],buffer[256+128];
randomString(salt, 128);
randomString(key, 128);
format(_string, sizeof(_string), "INSERT INTO `Salts` (`Name`, `Salt`, `Key`) VALUES ('%s','%s','%s');", PlayerInfo[playerid][Name], salt, key);
db_free_result(db_query(saltdb, _string));
sql_escape_string(shandle[datarow], inputtext, _string);
strins(_string, salt, 0);
hhash_hmac(H_WHIRLPOOL, _string, key, hashedpw, H_WHIRLPOOL_LEN);
strins(PlayerInfo[playerid][Password], hashedpw, 0);
format(_string, 128, "INSERT INTO `accounts` (`name`, `password`, `whitelist`)");
format(buffer,sizeof(buffer),"VALUES ('%s', '%s', '%b');",PlayerInfo[playerid][Name], PlayerInfo[playerid][Password], PlayerInfo[playerid][Whitelist]);
strcat(_string,buffer);
sql_query(shandle[datarow], _string, QUERY_THREADED, "OnPlayerRegistred", "ri", playerid);
SpawnPlayer(playerid);
}
}
if(!response || US_PlayerInfo[playerid][login_count] == 3) { return _Kick(playerid,""HTML_WHITE"["HTML_ROT"Kick"HTML_WHITE"]: Registrierungsvorgang abgebrochen!"); }
return 1;
}
case DIALOG_LOGIN:
{
if(response)
{
if(!strlen(inputtext) || strlen(inputtext) > 128) { return 1; }
else
{
new _string[500], hashedpw[H_WHIRLPOOL_LEN], salt[129], key[129], DBResult:result;
print(PlayerInfo[playerid][Name]);
format(_string, sizeof(_string), "SELECT * FROM `Salts` WHERE `Name`='%s'", PlayerInfo[playerid][Name]);
result = db_query(saltdb, _string);
if(!db_num_rows(result)) { _Kick(playerid, ""HTML_WHITE"["HTML_ROT"SERVER"HTML_WHITE"] Es liegt ein Fehler bei deinem Account vor. Wende dich an einen Administrator! (Fehler-Code: No-Salt!)"); return 1; }
db_get_field_assoc(result, "Key", key, 129);
db_get_field_assoc(result, "Salt", salt, 129);
db_free_result(result);
printf("Key: %s",key), printf("Salt: %s",salt);
strdel(_string,0,sizeof(_string));sql_escape_string(shandle[datarow], inputtext, _string);
strins(_string, salt, 0);
hhash_hmac(H_WHIRLPOOL, _string, key, hashedpw, H_WHIRLPOOL_LEN);
format(_string, sizeof(_string), "SELECT * FROM `accounts` WHERE `name` = '%s'", PlayerInfo[playerid][Name]);
sql_query(shandle[datarow], _string, QUERY_THREADED | QUERY_CACHED, "LoadPlayer", "ris", playerid,hashedpw);
SetSpawnInfo(playerid,0,0,1958.3783, 1343.1572, 15.3746,0,0,0,0,0,0,0);
TogglePlayerSpectating(playerid, 0);
}
}
}In der Hashdatenbank ist nur eine Zeile nicht mehr!
Der LoadPlayer noch:
public LoadPlayer(Result:result, playerid, inputtext[])
{
sql_get_field(result, 2, PlayerInfo[playerid][Password]);
if(!strcmp(inputtext,PlayerInfo[playerid][Password],true))
{
PlayerInfo[playerid][Admin] = sql_get_field_int(result, 4);
PlayerInfo[playerid][Geld] = sql_get_field_int(result, 5);
PlayerInfo[playerid][Handynummer] = sql_get_field_int(result,6);
SpawnPlayer(playerid);
GivePlayerMoney(playerid,PlayerInfo[playerid][Geld]);US_PlayerInfo[playerid][loggedin] = true;
printf("* %s geladen. *", PlayerInfo[playerid][Name]);
}
else _Kick(playerid,"Error: Passwort falsch!");
sql_free_result(result);
return 1;
}Danke euch
-
Das Übetragen von S4Y Accounts ist nicht gestattet
#Reported
-
Ja ich dachte da gibs was von Samp fertiges aber egal mach das dann eben selbst

-
Hey Com,
Da ich jetzt wenig Lust habe 40 Waffen einzutragen in ein Dialog und jede einzelnd zu editieren (OnDialogResponse),
und das meiner Meinung nach auch besser geht, mit einer for Schleife brauche ich eine Funktion um den Waffennamen mittels der ID rauszubekommen.Danke euch
-
Kostet das Game was?
-
Hmm was bringt das in die Virtualen welten zu setzen?,.. das bringt ja eigentlich garnichts, weil dieser Bot soll ja nicht nur einmal abspielen sondern, immer wieder wenn sich ein User registriert, und es soll sich noch ein bot erstellen wenn sich noch jemand anderes registriert...
Mach eine Warteschleife, bzw in der Zeit wo der Bot noch reserviert ist was anderes
-
Impressum?
-
Ist ja gut jetzt
-
englische
Ist down seid gestern abend -
Er möchte ein nameserver (hies doch so) auf seinem root habn
-
Naja da der Luncher ja nichtmal was richtiges dem Server bringt und zu unsicher ist ziehe ich leider zurück
-
Sieht für mich nicht so toll aus 2 / 10 wegen der Mühe
Alles verrutscht - teste den Server nicht
-
Visual C# WPF
Wv willst du denn dafür?