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] Criptografia (dicas)

    Weslley_Script
    Weslley_Script
    SS - Fundador
    SS - Fundador


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

    [Tutorial] Criptografia (dicas) Empty [Tutorial] Criptografia (dicas)

    Mensagem por Weslley_Script Sex 19 maio 2023 - 10:41

    Introdução rápida: eu decido fazer um tutorial sobre criptografia,
    sim, eu pretendo explicar como funciona e fazer aplicações em código,
    mas não mais eu vim para dar DICAS que podem ser ъtil ao 'pessoal' de cada um,
    quando se trata de seus servidores /arquivos.
    Índice:

    - O que é ?
    - Como funciona?
    - Exemplos e aplicações
    - Dicas
    -------------------------------------------------- ------
    O que é?
    Muito bem, eu costumo usar o significado científico ou idealizado pelos primeiros habituados da função, pois se eu for falar de outra forma seria algo pessoal e do meu ponto de vista.

    Criptografia: é o estudo dos princípios e técnicas pelas quais a informação pode ser transformada da sua forma original para outra ilegível, de forma que pode ser conhecida apenas por seu destinatário (detentor da "chave secreta"), o que a torna difícil de ser lida por alguйm nгo autorizado.

    No cotidiano dos 'scripters' tem sido utilizado para dificultar a legibilidade das senhas que são definidas
    pelos jogadores quando se cadastram nos servidores.
    No meu cotidiano eu uso para dificultar a legibilidade de qualquer coisa que seja informação/dado relacionado ao meu projeto, quanto não está alocado em um banco de dados.
    Como funciona?
    Existem alguns scripts pré-definidos e criados por desenvolvedores veteranos que são em muitos casos,
    usados ​​por boa parte do fуrum que nгo tem um conhecimento apurado sobre isso.

    Os mesmos consistem em multiplicar/somar, dividir/subtrair dos caracteres, assim fazendo uso da codificação da tabela ASCII.

    Vejamos um exemplo com multiplicação/divisão:
    Код:


    Código:
    nova string[] = "Willian";

    //string agora é um vetor que contém 7 posições(0-6)
    //Vamos fazer um split manual nela e ver como isso funciona.

    string[0] = 'W';
    string[1] = 'i';
    string[2] = 'l';
    string[3] = 'l';
    string[4] = 'i';
    string[5] = 'um';
    string[6] = 'n';


    Vejamos os valores na tabela ascii e seus respectivos símbolos:

    Alfabeto maiusculo(códigos ASCII)
    Код:


    Código:
    65= A 66= B 67= C 68= D
    69= E 70= F 71= G 72= H
    73= I 74= J 75= K 76= L
    77= M 78= N 79= O 80= P
    81= Q 82= R 83= S 84= T
    85= U 86= V 87= L 88= X
    89= Y 90= Z


    Alfabeto minúsculo (códigos ASCII)
    Код:


    Código:
    97= a 98= b 99= c 100= d
    101= e 102= f 103= g 104= h
    105= i 106= j 107= k 108= l
    109= m 110= n 111= o 112= p
    113= q 114= r 115= s 116= t
    117= u 118= v 119= w 120= x
    121= y 122= z


    Agora vamos supor que multiplicamos cada valor da 'string' por 2:
    Код:


    Código:
    string[0] = 'W' * 2;
    string[1] = 'i' * 2;
    string[2] = 'l' * 2;
    string[3] = 'l' * 2;
    string[4] = 'i' * 2;
    string[5] = 'um' * 2;
    string[6] = 'n' * 2;


    resultado:


    Código:
    string[0] = '«';
    string[1] = 'É';
    string[2] = 'П';
    string[3] = 'П';
    string[4] = 'É';
    string[5] = '┬';
    string[6] = '▄';



    //Resultado nгo й 100%, usei valores "fictнcios" para demonstraзгo.

    Olhando pelo resultado ficou meio difícil de ler, mas essa é a intensidade, apenas o dono/scripter
    deve obter acesso a informação.
    Agora a questão é, como retornar essa string ao valor normal ?

    Atualmente ela está assim: "«КППК┬▄"

    Pela lógica, se multiplicamos todos os índices do vetor por 2, então devemos dividir ambos por 2 agora,
    para obtermos o resultado antigo: "Willian"
    Exemplos e aplicações:
    Agora estarei citando um pouco mais na prática, existem atualmente exemplos funcionais e bons
    para criptografar nossas informações.

    Ex1:
    peão Код:


    Código:
    novo gCript [ 128 ] ;
    stock cript ( str [ ] )
    {
        for  ( new i =  0 ; i <  strlen ( str ) ; ++ i )  //iremos rodar um loop, para facilitar nosso trabalho.
        {
             str [ i ]  *=  2 ; //aqui iremos por em prática no exemplo anterior, iremos multiplicar os valores por 2
        }
        strcat ( gCript, str ) ;
    }
    stock uncript ( )
    {
        for  ( new i =  0 ; i <  strlen ( gCript ) ; ++ i ) gCript [ i ]  /=  2 ;
        retornar gCript;
    }


    Código:
    [left]public OnGameModeInit ( )
    {
        new teste [ ]  =  "Willian" ;
        cript ( teste ) ;
        printf ( teste );
        teste [ 0 ]  =  ' [b]\0[/b] ' ;
        strcat ( teste, não criptografado ( ) ) ;
        printf ( teste ) ;
        retornar  1 ;
    }[/left]


    Ex2:
    peão Код:


    Código:
    estoque cript_2 ( s [ ] )
    {
        novo i, j;
        for  ( i =  0 , j =  2 ; i <  strlen  ( s ) ; ++ i, ++ j )
        {
            if  ( j ==  4 ) j =  2 ; //Vamos fazer com que a multiplicação fique variando entre 2, 3
             s [ i ]  *= j ;
        }
    }
    estoqueunscript_2 ( s [ ] )
    {
        novo i, j;
        for  ( i =  0 , j =  2 ; i <  strlen  ( s ) ; ++ i, ++ j )
        {
            if  ( j ==  4 ) j =  2 ;
            s [ i ]  /= j;
        }
    }




    Código:
    public OnGameModeInit ( )
    {
        novo teste[ ]  =  "Willian" ;
        cript_2 ( teste ) ;
        printf ( teste ) ;
        unscript_2 ( teste ) ;
        printf ( teste ) ;
        retornar  1 ;
    }


    Este último exemplo complica um pouco mais, pois você estará multiplicando os valores uma vez por 2, uma por 3, e etc..(2, 3)

    Bom estas são as práticas mais comuns que se vê, são boas ? sim, como exemplos...
    Dicas:
    Como eu citei a cima, as aplicações são boas como exemplos, como exemplos...
    Veja bem, como diz o próprio conceito de criptografia: "de forma que possa ser conhecida apenas por seu destino", então a dica mais valiosa que posso passar para voces , a nгo ser que o cуdigo seja muito dinвmico, recomendo que vocк estude por estes exemplos, mas que utilize uma metodologia de criptografia pessoal(feita por vocк), pois assim piora as coisas pro lado de quem quer acessar, com certeza .
    Conclusão:
    O conceito é simples, opinião pessoal: é você saber uma forma sua de trocar os personagens, que também conheceu um 'reverse' para você ter acesso a informações limpas.

    Espero que seja ъtil a informaзгo, se tiverem dъvidas deixem ai que discutamos nos comentбrios.

    -------------------------------------------------- ------
    Créditos: Willian Luigi



    [Tutorial] Criptografia (dicas) D07Xwqb
    [Tutorial] Criptografia (dicas) Yjab9HN

      Data/hora atual: Qua 8 maio 2024 - 20:46