[Ajuda] Encriptando Senhas
#1

Olб amigos, eu gostaria de saber como eu faзo para criptografar essas senhas.

pawn Код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    switch( dialogid )
    {
        case DIALOG_REGISTRO:
        {
            if (!response) return Kick(playerid);
            if (response)
            {
                if(!strlen(inputtext)) {
                ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_PASSWORD, "{AC98FF}Registrando...","{2641FE}Vocк digitou uma senha invбlida.\n{2641FE}Digite sua senha abaixo para registrar uma nova conta.","Registrar","Cancelar");
                }
                SpawnPlayer(playerid);
                if(INI_Open(ObterINI(playerid))) {
                INI_WriteString("Senha",inputtext);
                INI_WriteInt("Score",3);
                INI_WriteInt("Banco",1000);
                INI_WriteInt("Dinheiro",2000);
                INI_WriteInt("Admin",0);
                INI_WriteInt("Banido",0);
                INI_WriteInt("Membro",0);
                INI_WriteInt("Calado",0);
                INI_WriteInt("Lider",0);
                INI_Save();
                INI_Close();

                ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD,"{AC98FF}Logar","{2641FE}Digite sua senha abaixo para efetuar login.","Logar","Cancelar");
            }
        }
    }
        case DIALOG_LOGAR:
        {
            if ( !response ) return Kick ( playerid );
            if( response )
            {
                if(!strlen(inputtext)) {
                ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD, "{AC98FF}Logar","{2641FE}Vocк digitou uma senha invбlida.\n{2641FE}Digite sua senha abaixo para efetuar login.","Logar","Cancelar");
                }

                if(INI_Open(ObterINI(playerid))) {
                INI_ReadString(PlayerInfo[playerid][pSenha],"Senha",20);

                if(strcmp(inputtext,PlayerInfo[playerid][pSenha],false)) {
                ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD, "{AC98FF}Logar","{2641FE}Vocк digitou uma senha incorreta.\n{2641FE}Digite sua senha abaixo para acessar.","Logar","Cancelar");
                }
                SetPlayerScore( playerid, INI_ReadInt("Score" ) );
                ResetPlayerMoney( playerid );
                GivePlayerMoney( playerid, INI_ReadInt( "Dinheiro" ) );
                PlayerInfo[playerid][pBanco] = INI_ReadInt("Banco");
                PlayerInfo[playerid][pStaff] = INI_ReadInt("Admin");
                PlayerInfo[playerid][pCalado] = INI_ReadInt("Calado");
                PlayerInfo[playerid][pMembro] = INI_ReadInt("Membro");
                PlayerInfo[playerid][pLider] = INI_ReadInt("Lider");
                INI_Close();
                }
            }
        }
    }
    return 1;
}
Reply
#2

Isto pode te ajudar .
http://forum.sa-mp.com/showthread.ph...ncripta%E7%E3o
Reply
#3

Fui tentar adicionar e acabou dando em mer.a
Reply
#4

pawn Код:
stock Encriptar(texto[])//Cуdigo irб pegar a senha normal, encriptar, e retornar em forma de texto
{
    new SenhaEncriptada[100];
    for(new x = 0; x <= strlen(texto); x++)
    {
        SenhaEncriptada[x] = (texto[x] * 2);//Cada caractere da senha Encriptada vai ser igual ao da original multiplicado por 2
    }
    return SenhaEncriptada;
}


stock Desencriptar(texto[])//Cуdigo irб pegar a senha encriptada, desencriptar, e retornar em forma de texto :D
{
    new Senha[100];
    for(new x = 0; x <= strlen(texto); x++)
    {
        Senha[x] = (texto[x] / 2);//Cada caractere da senha normal vai ser o da encriptada divido pra 2 (pois divisгo й o processo inverso da multiplicaзгo).
    }
    return Senha;
}
Salvando dados:
pawn Код:
dini_Set("arquivo.txt", "Chave", Encriptar(inputtext));
Carregando na hora do login:
pawn Код:
if(!strcmp(inputtext,Desencriptar(dini_Get("arquivo.txt", "Chave")), true))
Endereзo: https://sampforum.blast.hk/showthread.php?tid=249057
Crйditos: rjjj

AJUDOU?
Reply
#5

Tem geito de passar isso para DOF2?
Reply
#6

Quote:
Originally Posted by Brazuca[]s
Посмотреть сообщение
Tem geito de passar isso para DOF2?
Tem:
REGISTRO
pawn Код:
format(senha, sizeof(senha), "%s", Encriptar(inputtext));
Usa isso no DOF2

LOGIN
pawn Код:
if(strcmp(DOF2_GetString(GetarConta(playerid), "Senha", pDados[playerid][Senha]), Encriptar(inputtext), true, 10) == 0)
Acho que assim deve funcionar.. adapta no seu sistema em DOF2!
Reply
#7

Vei, nгo use isso ae para senhas, pois da para desecriptar, podendo facilmente hackear contas!

Use esse:
http://forum.sa-mp.com/showpost.php?...postcount=1803

Comparaзгo:

pawn Код:
if(SenhaGuardadaJбComHash == TerroR_HashKey(SenhaDigitada)) //Acertou
Reply
#8

Paulor como ficaria o meu sistema la do topo utilizando o seu sistema, pois tentei e acabou dando em mer.a
Reply
#9

Quote:
Originally Posted by Brazuca[]s
Посмотреть сообщение
Paulor como ficaria o meu sistema la do topo utilizando o seu sistema, pois tentei e acabou dando em mer.a
pawn Код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    switch( dialogid )
    {
        case DIALOG_REGISTRO:
        {
            if (!response) return Kick(playerid);
            if (response)
            {
                if(!strlen(inputtext)) {
                    ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_PASSWORD, "{AC98FF}Registrando...","{2641FE}Vocк digitou uma senha invбlida.\n{2641FE}Digite sua senha abaixo para registrar uma nova conta.","Registrar","Cancelar");
                }
                SpawnPlayer(playerid);
                if(INI_Open(ObterINI(playerid))) {
                    INI_WriteInt("Senha",TerroR_HashKey(inputtext));
                    INI_WriteInt("Score",3);
                    INI_WriteInt("Banco",1000);
                    INI_WriteInt("Dinheiro",2000);
                    INI_WriteInt("Admin",0);
                    INI_WriteInt("Banido",0);
                    INI_WriteInt("Membro",0);
                    INI_WriteInt("Calado",0);
                    INI_WriteInt("Lider",0);
                    INI_Save();
                    INI_Close();

                    ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD,"{AC98FF}Logar","{2641FE}Digite sua senha abaixo para efetuar login.","Logar","Cancelar");
                }
            }
        }
        case DIALOG_LOGAR:
        {
            if ( !response ) return Kick ( playerid );
            if( response )
            {
                if(!strlen(inputtext)) {
                ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD, "{AC98FF}Logar","{2641FE}Vocк digitou uma senha invбlida.\n{2641FE}Digite sua senha abaixo para efetuar login.","Logar","Cancelar");
                }

                if(INI_Open(ObterINI(playerid))) {

                    if(INI_ReadInt( "Senha" ) == TerroR_HashKey(inputtext)) {
                        ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD, "{AC98FF}Logar","{2641FE}Vocк digitou uma senha incorreta.\n{2641FE}Digite sua senha abaixo para acessar.","Logar","Cancelar");
                    }
                    SetPlayerScore( playerid, INI_ReadInt("Score" ) );
                    ResetPlayerMoney( playerid );
                    GivePlayerMoney( playerid, INI_ReadInt( "Dinheiro" ) );
                    PlayerInfo[playerid][pBanco] = INI_ReadInt("Banco");
                    PlayerInfo[playerid][pStaff] = INI_ReadInt("Admin");
                    PlayerInfo[playerid][pCalado] = INI_ReadInt("Calado");
                    PlayerInfo[playerid][pMembro] = INI_ReadInt("Membro");
                    PlayerInfo[playerid][pLider] = INI_ReadInt("Lider");
                    INI_Close();
                }
            }
        }
    }
    return 1;
}
Para que funcione, Vocк terб que se registrar novamente ou alterar sua senha para a senha hash.
Reply
#10

vlw, +rep para tu!
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)