Hallo leute,
ich wollte jetzt MD5 reinhauen und habe ein Fehler gemacht.
Mein Pw wird gehasht, aber ich kann das nicht wieder unhashen, heißt, wenn ich mich ein loggen möchte, das mein PW falsch angezeigt wird.
Wie kann ich das machen und was soll ich euch schicken?
Login :
Function OnPlayerLogin(playerid,password[])
new tmp2[256];
new string2[128];
new playername2[MAX_PLAYER_NAME];
GetPlayerName(playerid, playername2, sizeof(playername2));
format(string2, sizeof(string2), "/Accounts/%s.ini", playername2);
new File: UserFile = fopen(string2, io_read);
if ( UserFile )
new PassData[256];
new keytmp[256], valtmp[256];
fread( UserFile , PassData , sizeof( PassData ) );
keytmp = ini_GetKey( PassData );
if( strcmp( keytmp , "Key" , true ) == 0 )
valtmp = ini_GetValue( PassData );
strmid(PlayerInfo[playerid][pKey], valtmp, 0, strlen(valtmp)-1, 255);
if(strcmp(PlayerInfo[playerid][pKey],password, true ) == 0 )
new key[ 256 ] , val[ 256 ];
new Data[ 256 ];
while ( fread( UserFile , Data , sizeof( Data ) ) )
key = ini_GetKey( Data );....
register:
Function OnPlayerRegister(playerid, password[])
if(IsPlayerConnected(playerid))
new string3[64];
new playername3[MAX_PLAYER_NAME];
GetPlayerName(playerid, playername3, sizeof(playername3));
format(string3, sizeof(string3), "/Accounts/%s.ini", playername3);
new File: hFile = fopen(string3, io_write);
if (hFile)
strmid(PlayerInfo[playerid][pKey], password, 0, strlen(password), 255);
new var[32];
format(var, 32, "Key=%s\n", PlayerInfo[playerid][pKey]);fwrite(hFile, var);
PlayerInfo[playerid][pCash] = GetPlayerMoney(playerid);
und wo ich Md5 hash rein gemacht habe ist hier:
if(dialogid == DIALOG_LOGIN)
if(response && strlen(inputtext) > 0)
OnPlayerLogin(playerid,MD5_Hash(inputtext));
else
Kick(playerid);
if(dialogid == DIALOG_REG)
if(response)
ShowPlayerDialog(playerid,DIALOG_REG2,DIALOG_STYLE_INPUT,"Account erstellen","Gib das Passwort für deinen Account ein:","OK","Abbrechen");
else
ShowPlayerDialog(playerid,DIALOG_REG,DIALOG_STYLE_MSGBOX,"Account","Du benötigst einen Account, um auf diesem Server zu spielen!","Erstellen","Abbrechen");
if(dialogid == DIALOG_REG2)
if(response && strlen(inputtext) > 0)
OnPlayerRegister(playerid,MD5_Hash(inputtext));
else
ShowPlayerDialog(playerid,DIALOG_REG2,DIALOG_STYLE_INPUT,"Account erstellen","Gib das Passwort für deinen Account ein:","OK","Abbrechen");
Ich bitte um Hilfe..