public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
//Registro
new pArquivos[50];
format(pArquivos, sizeof(pArquivos), CONTASS, PegarNome(playerid));
if(dialogid == D_Registrar)
{
if(response)
{
if(!strlen(inputtext)) return ShowPlayerDialog(playerid, D_Registrar, DIALOG_STYLE_PASSWORD, "{FFFFFF}Bem vindo ao Planeta RPG \n\n{FFFFFF}Nome: {FF0000}%s \n\n{FFFFFF}Status: {FF0000}Nao Registrado(a)", "Registro", "", PegarNome(playerid));
DOF2_CreateFile(pArquivos);
DOF2_SetString(pArquivos, "Senha", inputtext);
DOF2_SaveFile();
SalvarPlayer(playerid);
SpawnPlayer(playerid);
ShowPlayerDialog(playerid, D_Sexo, DIALOG_STYLE_MSGBOX,"> Escolha seu Sexo <","Escolha seu Sexo:","Masculino","Feminino");
return 1;
}
SendClientMessage(playerid, Vermelho, "Voce foi kickado por nao se registrar!");
KickP(playerid);
}
//Login
if(dialogid == D_Logar)
{
if(response)
{
if(!strlen(inputtext))return ShowPlayerDialog(playerid,D_Logar,DIALOG_STYLE_PASSWORD, "{FFFFFF}Bem vindo ao Essence DayZ \n\n{FFFFFF}Nome: {00FF04}%s \n\n{FFFFFF}Status: {00FF04}Registrado(a)", "Entrar", "Sair", PegarNome(playerid));
if(!strcmp(DOF2_GetString(pArquivos, "Senha"), inputtext))
{
SendClientMessage(playerid, 0x00FF00FF, "Logado com susesso!");
CarregarPlayer(playerid);
SpawnPlayer(playerid);
return 1;
}
if(pInfo[playerid][Errosenha] == 2)
{
SendClientMessage(playerid, Vermelho, "Voce sera kickado apos errar 3 vezes!");
KickP(playerid);
return 1;
}
pInfo[playerid][Errosenha]++;
ShowPlayerDialog(playerid, D_Logar, DIALOG_STYLE_PASSWORD, "Logando (x)", "{FFFFFF}A senha esta errada.\nPor Favor tente novamente!", "Entrar", "Sair");
return 1;
}
KickP(playerid);
}
return 1;
}
#include <a_samp>
#define SALT_PASS "78sdjs86d2h"
main(){
new
PasswordAbsolute[64 + 1];
new
inputtext[64] = "Hello";
// Register password to hash
SHA256_PassHash(inputtext, SALT_PASS, PasswordAbsolute, sizeof PasswordAbsolute); // MyHash have now the password hashed.
printf("inputtext hashed:\n\t%s", PasswordAbsolute);
// Verify Hash
new
inputlogin[64] = "Hell",
loginHash[64 + 1];
SHA256_PassHash(inputlogin, SALT_PASS, loginHash, sizeof loginHash);
if(!strcmp(loginHash, PasswordAbsolute)){
print("The password is valid");
}
else{
//
print("The password not is same with the PasswordAbsolute");
// change inputlogin ->
format(inputlogin, sizeof inputlogin, "Hello");
SHA256_PassHash(inputlogin, SALT_PASS, loginHash, sizeof loginHash);
// now is correct.
printf("inputLogin:\n\t%s\n\nPasswordAbsolute:\n\t%s", loginHash, PasswordAbsolute);
}
}
Este й o ciclo que deseja.
PHP код:
![]() |
Ele usou uma Hash, por exemplo, a senha "Hello" foi encriptada pela hash e salva no banco de dados, assim se vocк acessar o banco de dados nгo vera a senha que o usuбrio digitou mas sim uma hash que й aquele monte de letras e nъmeros na imagem.
Quando o usuбrio digita a senha para logar, antes da senha ser comparada com a que hб salva no banco de dados, ela й encriptada novamente e depois comparada com a hash do banco de dados. Se as 2 hashes forem iguais que dizer que o usuбrio digitou a senha correta e estб autorizado a logar. |
DOF2_CreateFile(file, inputtext);
e
DOF2_CheckLogin(file, inputtext);
Se nгo me engano o DOF2 faz isso com
PHP код:
|