09.10.2014, 17:57
I've got an issue with y_ini saving passwords, which are not hashed.
My issue is that when I'm typing in the correct password, it displays it as 'Invalid', and even if it's the wrong password for the account it still displays 'Invalid'.
I've tried creating a new account and registering it, successfully but when it eventually gets to the login screen, I type the password I just registered the account with and it displays 'Invalid' still. I'm so confused and I literally have no idea of how to resolve this issue, as the code I scripted looks perfectly fine to me.
Heres the DialogResponse Codes(Ignore the indentation, focus on the password coding);
If anyone could possibly help me, I'd be extremely greatful and will rep you of course.
My issue is that when I'm typing in the correct password, it displays it as 'Invalid', and even if it's the wrong password for the account it still displays 'Invalid'.
I've tried creating a new account and registering it, successfully but when it eventually gets to the login screen, I type the password I just registered the account with and it displays 'Invalid' still. I'm so confused and I literally have no idea of how to resolve this issue, as the code I scripted looks perfectly fine to me.
Heres the DialogResponse Codes(Ignore the indentation, focus on the password coding);
Код:
case DIALOG_REGISTER: { new INI:File = INI_Open(UserPath(playerid)); if(!response) return Kick(playerid); if(response) { if(!strlen(inputtext)) { SendClientMessage(playerid,COLOR_GREY,#Invalid registeration password.); ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT,"User account registration","Type in a password combination in order \nto registrate your new account.","Register","Leave"); } INI_SetTag(File,"DATA"); INI_WriteString(File,"Password",inputtext); INI_WriteInt(File,"Cash",0); INI_WriteInt(File,"Kills",0); INI_WriteInt(File,"Admin",0); INI_WriteInt(File,"Skin",0); INI_WriteInt(File,"SkinChanges",0); INI_WriteInt(File,"Spawned",0); INI_WriteInt(File,"Level",0); INI_WriteInt(File,"Donator",0); INI_WriteInt(File,"FightStyle",0); INI_WriteInt(File,"Deaths",0); INI_WriteInt(File,"Warnings",0); INI_WriteInt(File,"Kicks",0); INI_Close(File); ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD,"User account log-in","Type in your password combination in order \nto log-in to your account","Login","Leave"); } } case DIALOG_LOGIN: { if(!response) return Kick (playerid); if(response) { if(!strlen(inputtext)) { SendClientMessage(playerid,COLOR_GREY,#Invalid password combination); ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD,"User account log-in","Type in your password combination in order \nto log-in to your account","Login","Leave"); return 1; } if(strcmp(inputtext,PlayerInfo[playerid][pPass],true)) { INI_ParseFile(UserPath(playerid), "LoadUser_%s", .bExtra = true, .extra = playerid); SetPlayerScore(playerid,PlayerInfo[playerid][pKills]); ResetPlayerMoney(playerid); GivePlayerMoney(playerid,PlayerInfo[playerid][pCash]); SetPlayerInterior(playerid,5); SendClientMessage(playerid,COLOR_WHITE,"You have been successfully logged in to your user account."); TogglePlayerSpectating(playerid,false); SpawnPlayer(playerid); } else { SendClientMessage(playerid,COLOR_GREY,#Invalid password combination); ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD,"User account log-in","Type in your password combination in order \nto log-in to your account","Login","Leave"); return 1; } } }