SSGamers - 12 Anos online por você.

#SSGamers - A Comunidade que mais crescer no brasil!

Participe do fórum, é rápido e fácil

SSGamers - 12 Anos online por você.

#SSGamers - A Comunidade que mais crescer no brasil!

SSGamers - 12 Anos online por você.

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Chegou o novo tema 6.5.5 - SSGamers - Servidores online de qualidade - Aproveite e entre para nossa comunidade, inscreva-se já! - Ouça nossa web radio - Veja nossas novidades - Participe dos nossos setores de jogos online - Parcerias aberta fale já com um administrador.

    [Tutorial] Encriptaзгo

    Weslley_Script
    Weslley_Script
    SS - Fundador
    SS - Fundador


    Steam Steam : WeslleySSGames
    Zello : WeslleySSGames
    Mensagens : 11379
    Moedas : 1031983
    Data de inscrição : 06/10/2011
    Idade : 28
    Localização : Brasil

    [Tutorial] Encriptaзгo Empty [Tutorial] Encriptaзгo

    Mensagem por Weslley_Script Sáb 3 Jun 2023 - 10:31

    Encriptaзгo
    Encriptaзгo й uma das coisas mais importantes (se nгo, a mais importante) de um servidor, a encriptaзгo trбs seguranзa aos servidores e privacidade aos usuбrios, eu sei que muitos dos servidores RPG que usam GF's nгo estгo encriptados, entгo eles nгo protegem a privacidade dos usuбrios, podendo saber as passwords dos mesmos e ser vitimas de ataques.

    "Ah nгo vale a pena vei, meu server й foda e ninguйm entra lб #vidaloka"
    Vocк estб errado, comeзando por nгo cumprir as Politicas de Privacidade, nas quais que dizem que vocк deverб salva guardar as passwords dos usuбrios impedindo de vocк saber a password do mesmo. Mas claro que nгo fica por aqui, se receber um ataque no seu ftp (digo isto para os usuбrios que usam salvamento .ini, MySQL й outra coisa) e o atacante for lб na scriptfiles e vir as passwords ele edita e fica com as contas para ele, muito bom nгo acha?

    Mas bem para vocк fazer uma encriptaзгo no seu servidor й muito simples, vocк pode usar 3 sistemas, 

    Eu pessoalmente prefiro o md5, retorna sempre uma string de 32 caracteres e enquanto Whirlpool retorna 128 o que torna maior e torna a ser chato, o Hash do Ryder` й um pouco mais complicado porque tem suporte PHP e tambйm se torna chato, Whirlpool tambйm й necessбrio usar plugin o que й ainda mais chato, por isso optei pelo md5.

    Antes de tudo veja este codigo pois serб necessбrio para continuar.

    Existe gente que diz que md5 й inseguro, sim й verdade, por exemplo:

    Vamos encriptar a seguinte frase: "The quick brown fox jumps over the lazy dog"
    Resultado: 9e107d9d372bb6826bd81d3542a419d6

    Mas se vocк colocar essa encriptaзгo no irб aparecer sites como este.

    Sendo assim vocк pensa, entгo md5 й infalнvel, nem por isso, existe uma coisa chamada salt.
    Salt й uma string simples que serб adicionada a nossa encriptaзгo, por exemplo:
    pawn Код:

    Código:
    new
        salt[] = "1%1cAu!g+>K53PY}", //nгo й necessбrio usar estes caracteres pode usar outros.
        buf[34],
        senha[24] = "HelloWorld",
        result[17+25] //digamos que o valor do salt й 17 (16+1) e o valor da password serб no mбximo 25(24+1)
    ;
    format(result,sizeof(result),"%s%s",senha,salt);
    md5(buf,result);
    printf("%s",buf);


    Irб imprimir:
    Код:

    Código:
    B7BE4DF038F0D0E3AFC45C6262355E4E


    Agora se voce procurar no ****** irб aparecer:
    Код:

    Código:
    Sua pesquisa - B7BE4DF038F0D0E3AFC45C6262355E4E - nгo encontrou nenhum documento.


    Claro que agora com este tutorial postado й obvio que aparece no ******, mas na wordlist nгo irб aparecer e desta forma o seu servidor estarб muito mais seguro e tambйm estarб a cumprir os termos de privacidade.

    "Ah mas existe sites para converter as criptografia", errado, nгo existem sites para converter, porque uma encriptaзгo й feita e й para ficar assim, nгo existe forma de converter, esses sites criam uma worldlist, ou seja, vocк faz lб um hash, por exemplo. "SA-MP" e vai aparecer "a1c7c7c356c018da73744a2a834de456" e o site vai gravar uma wordlist, assim quando vocк colocar a encriptaзгo "a1c7c7c356c018da73744a2a834de456" ele irб procurar pela worldlist e vai achar o "SA-MP". Exemplo de site: http://md5.gromweb.com

    Para servidores com suporte MySQL nгo seria necessбrio fazer isto, pode usar md5 diretamente da Query, mas claro que tem de colocar o salt, mas tambйm pode usar cб fora, й indiferente.
    Servidores com Acesso PHP


    Para servidores que usem MySQL e PHP aconselho a lerem isto.

    Fiz uma adaptaзгo do cуdigo:
    PHP код:

    Código:
    <?php
     
    /**
     * Gera um salt aleatуrio
     *
     * @param int $tamanho Tamanho do salt
     *
     * @return string
     */
    function geraSaltAleatorio($tamanho = 22) {
        return substr(sha1(mt_rand()), 0, $tamanho);  
    }
     
    $salt = geraSaltAleatorio();
     
    // Senha do usuбrio, pode ter vindo do $_POST, $_GET ou outro lugar
    $senha = 'olб mundo'; 
     
    // Cria um hash
    $hash = md5($senha . $salt);
     
    // Encripta esse hash 1000 vezes
    for ($i = 0; $i < 1000; $i++) {
        $hash = md5($hash);
    }
     
    // Salvamos $hash e $salt no banco de dados

    Em pawn ficou mais ou menos assim:
    pawn Код:

    Código:
    mt_rand(){
        new rand[11];
        format(rand,sizeof(rand),"%d",random(9999999999));
        return rand;
    }

    random_salt(buffer[34]){
        buffer = MD5_Hash(mt_rand());
        return 1;
    }

    public OnGameModeInit()
    {
        new salt[34],word[80],buf[34];
        random_salt(salt);
        format(word,sizeof(word),"%s%s",salt,"minhapassword");
        md5(buf,word);
        for(new i; i<1000; ++i)
            md5(buf,buf);
        printf("result: %s",buf);
        return 1;
    }


    Agora vocкs devem adaptar ao vosso script.
    Atenзгo: Esta parte й apenas para servidores com acesso a PHP, caso o seu servidor nгo use PHP fique-se pelo menos pela parte mais simples, a nгo ser que queira fazer mesmo que ninguйm saiba a password do usuбrio, ai sim use esta forma, mas lembre-se, deverб ler o link que postei.

    Agradecimentos

    -BlueX - Criador do tutorial;
    -Stewie` - Ensinou-me o salt;
    -ThiagoBelem - Explicaзгo do salt;



    [Tutorial] Encriptaзгo D07Xwqb
    [Tutorial] Encriptaзгo Yjab9HN

      Data/hora atual: Sáb 11 maio 2024 - 1:22