Beiträge von LeonMrBonnie

    Ah ok danke,
    ist das dann bei meiner Login Anfrage so richtig?

    if(dialogid == DIALOG_LOGIN)
    {
    if(response)
    {
    if(isnull(inputtext)) return ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD,"{FFFFFF}Login","{FFFFFF}Gebe dein Passwort ein um dich einzuloggen:","Einloggen","Verlassen");



    new HashPass[64 + 1];
    SHA256_PassHash(inputtext, "eWvgYIpHsX6ckTDlCwiAI7VOyJvt2bqiJpg8gNeYeEAWy7ujFIVMkkdG4fWmGkIP", HashPass, sizeof HashPass);



    new Query[256];
    format(Query, sizeof(Query), "SELECT * FROM `Players` WHERE `Name` = '%s' AND `Password` = '%s'", DB_Escape(Player[playerid][Name]), HashPass);
    new DBResult:res = db_query(sqliteconnection, Query);

    [wiki]http://wiki.sa-mp.com/wiki/SHA256_PassHash[/wiki]


    Das Passwort wird hier gehashed:

    Code
    new HashPass[140];
    format(HashPass, sizeof(HashPass), "%d", udb_hash(inputtext));

    Alles Weitere kannste dir dann denke ich ableiten.

    Vielleicht ne blöde Frage aber;
    ist das so richtig, oder wie soll ich sonst den eingegeben Text hashen?

    if(dialogid == DIALOG_REGISTER)
    {
    if(response)
    {
    if(isnull(inputtext)) return ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD,"{FFFFFF}Registration","{FFFFFF}Gebe dein Passwort ein um dich zu registrieren:","Registrieren","Verlassen");



    new HashPass[64 + 1];
    SHA256_PassHash("inputtext", "ewvgYIpHsX6ckTDlCwiAI7VOyJvt2bqiJPg8gNeYeEAWy7ujFIVMkkDG4fWmGKIP", HashPass, sizeof HashPass);



    new query[356];
    //ac
    format(query, sizeof(query), "INSERT INTO Players (Name, Password, Level, ForceAC, Kills, Deaths, Score, VIP, MaxRoundKills, MaxRoundDamage, Headshots, Tbags, PunchK, DeagleK, ShotgunK, SpasK, MP5K, AK47K, M4K, RifleK, SniperK, GrenadeK, Gun2, Gun3, Gun4, Gun5, Gun6) VALUES('%s', '%s', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 33, 0)", DB_Escape(Player[playerid][Name]), HashPass);
    db_free_result(db_query(sqliteconnection, query));



    format(HashPass, sizeof(HashPass), "Du hast dich erfolgreich registriert. Passwort: {55FF55}%s", inputtext);
    SendClientMessage(playerid, YELLOW_COLOR, HashPass);
    SendClientMessage(playerid, YELLOW_COLOR, "Nutze {FFFFFF}/cmds {FFFF00}für die Commands und {FFFFFF}/updates {FFFF00}um über die letzten Updates bescheid zu wissen.");
    SendClientMessage(playerid, YELLOW_COLOR, "Vergesse nicht mit {FFFFFF}/rules {FFFF00}die Regeln durchzulesen.");

    Hallo,
    ich habe mein Login/Register System am Anfang geschrieben als ich angefangen habe zu scripten und deswegen sind meine Passwörter momentan auch nur mit UDB_Hash gehasht, da mir aber nun aufgefallen ist dass dies sehr unsicher ist würde ich gerne die SHA256 Funktion von SAMP dafür nutzen, wie kann ich das in meinem Script einbauen?


    Ich benutze SQLite.


    Mein momentaner Code:

    if(dialogid == DIALOG_REGISTER)
    {
    if(response)
    {
    if(isnull(inputtext)) return ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD,"{FFFFFF}Registration","{FFFFFF}Gebe dein Passwort ein um dich zu registrieren:","Registrieren","Verlassen");



    new HashPass[140];
    format(HashPass, sizeof(HashPass), "%d", udb_hash(inputtext));



    new query[356];
    //ac
    format(query, sizeof(query), "INSERT INTO Players (Name, Password, Level, ForceAC, Kills, Deaths, Score, VIP, MaxRoundKills, MaxRoundDamage, Headshots, Tbags, PunchK, DeagleK, ShotgunK, SpasK, MP5K, AK47K, M4K, RifleK, SniperK, GrenadeK, Gun2, Gun3, Gun4, Gun5, Gun6) VALUES('%s', '%s', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 33, 0)", DB_Escape(Player[playerid][Name]), HashPass);
    db_free_result(db_query(sqliteconnection, query));



    format(HashPass, sizeof(HashPass), "Du hast dich erfolgreich registriert. Passwort: {55FF55}%s", inputtext);
    SendClientMessage(playerid, YELLOW_COLOR, HashPass);
    SendClientMessage(playerid, YELLOW_COLOR, "Nutze {FFFFFF}/cmds {FFFF00}für die Commands und {FFFFFF}/updates {FFFF00}um über die letzten Updates bescheid zu wissen.");
    SendClientMessage(playerid, YELLOW_COLOR, "Vergesse nicht mit {FFFFFF}/rules {FFFF00}die Regeln durchzulesen.");
    .....
    .....

    Und H1Z1 hat es von H1N1, der Bezeichnung der Grippe geklaut oder wie muss ich das verstehen? Hast du die auch so wie hier zugetextet?Kannst du nicht bitte einfach wie jeder andere anständige Wutbürger über die Politik meckern, anstatt diesen Server hier schlechtzureden?


    B2T:
    Die Idee und Serverwerbung haben mich überzeug, dem Server morgen mal einen Besuch abzustatten.

    Die 1. Betaphase ist aber erst Freitag ^^


    if(issuerid != INVALID_PLAYER_ID && (weaponid == 34) && bodypart == 9 && Spieler[playerid][pFraktion] == 8)
    {
    new Float:x,Float:y,Float:z;
    GetPlayerPos(playerid,x,y,z);
    format(string,sizeof(string),"~w~HEADSHOT~n~~w~[%.02f M]",GetPlayerDistanceFromPoint(issuerid,x,y,z));
    GameTextForPlayer(issuerid, string, 3000, 6);
    format(string,sizeof(string),"~w~HEADSHOT~n~~w~[%.02f M]",GetPlayerDistanceFromPoint(playerid,x,y,z));
    GameTextForPlayer(playerid, string, 3000, 6);
    SetPlayerHealth(playerid, 0.0);
    }

    20:13:54] [debug] Run time error 4: "Array index out of bounds"[20:13:54] [debug] Attempted to read/write array element at index 65535 in array of size 1000[20:13:54] [debug] AMX backtrace:[20:13:54] [debug] #0 000225cc in public OnPlayerTakeDamage (playerid=0, issuerid=65535, Float:amount=4.95000, weaponid=54, bodypart=3) at C:\Users\Agando\Desktop\Garage\AnotherLife Keybinder\SAMP 1HK Server\gamemodes\1hk.pwn:1413


    Zeile 1413:

    if(Health[0] > 0 && playerid != INVALID_PLAYER_ID && issuerid != INVALID_PLAYER_ID)
    {
    if(amount > Health[0])
    {
    Damage = amount - Health[0];
    amount = amount - Damage;
    }
    }


    EDIT:
    Manchmal steht dort statt 1413 auch 1422...


    Zeile 1422:

    if(HitSound[issuerid] == true && issuerid != INVALID_PLAYER_ID && playerid != INVALID_PLAYER_ID)
    {
    PlayerPlaySound(issuerid,17802,0.0,0.0,0.0);
    }