A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Company LOGO www.testset.com.br Criptografia de dados em PHP.

Apresentações semelhantes


Apresentação em tema: "Company LOGO www.testset.com.br Criptografia de dados em PHP."— Transcrição da apresentação:

1 Company LOGO Criptografia de dados em PHP

2 Company LOGO Introdução a criptografia Criptografia (Do Grego kryptós, "escondido", e gráphein, "escrita"). Desde a antiguidade houve a necessidade de envio e recebimento de mensagens sigilosas. O crescimento foi maior na Segunda Guerra Mundial, e anos depois com o surgimento da internet. Tem-se a mensagem original M, a chave criptográfica (regra) K e a mensagem criptografada C, assim temos: K(M) = C Na maioria dos casos temos que ter a chave de decriptação D, que é a regra para da mensagem criptografada voltar à mensagem original: D(C) = M

3 Company LOGO Criptografia Simétrica Uma definição sucinta de chave simétrica é que é utilizado uma única chave pra decifrar e criptografar dados, essa chave é compartilhada apenas por duas ou mais pessoas que tem em mente manter uma conexão e ligação confidencial da informação. Também tem-se em mente que essa chave é conhecida apenas por essas pessoas.

4 Company LOGO Criptografia Assimétrica É um método de criptografia que utiliza duas chaves, uma publica e outra privada. A publica é de acesso de todos e a privada é de acesso apenas do dono. A mensagem é criptografada com a chave publica e só é descriptografada pela sua chave privada.

5 Company LOGO Criptografia no PHP O uso da criptografia no PHP é o mais variado possível, vai desde encriptação de formulários, senhas, arquivos e até encriptação de XML. Principais funções do PHP que implementam Criptografia Alguns Exemplos de funções no PHP que utilizam criptografia: base64_encode() / base64_decode() md5() sha1() cript() md5_file() sha1_file()

6 Company LOGO Usando base64_encode() Codifica dados binários tratando-os numericamente, retornando uma string na base 64 1 do tipo MIME 2 que trafegam sobre camadas de transporte que não são 8-bit clean (sistema que resolve caracteres de 8bits), como mensagens de . Dados codificados na Base-64 tem aproximadamente 33% mais espaço que dos dados originais. Usa-se a função base64_decode() para decodificar a mensagem. $texto = informação; echo base64_encode($texto); // RESULTADO: ZWRzb24= $texto1 = ZWRzb24=; // para voltar: echo base64_decode($texto1); // RESUTADO: informação 2 MIME = Multipurpose Internet Mail Extensions. Tipos de extenções comuns que trafegam na rede. 1 Base64 = Constituída por 64 caracteres ([A-Za-z0-9], "/" e "+") que dão origem ao seu nome.

7 Company LOGO base64_encode e base64_decode, em conjunto com a função strrev. //function to encrypt the string function encode5t($dado) { for($i=0; $i=5;$i++) { $dado=strrev(base64_encode($dado));strrevbase64_encode //aplica base64 primeiro depois reverte a string } return $dado; } //function to decrypt the string function decode5t($dado) { for($i=0; $i=5;$i++) { $dado=base64_decode(strrev($dado));base64_decodestrrev //apply base64 first and then reverse the string } return $dado; }

8 Company LOGO Usando md5() É um algoritmo de hash de 128 bits unidirecional (não há retorno). É muito utilizado por softwares com protocolo ponto-a-ponto 3. Sua sintaxe é string md5 ( valor [, booleano] ); Calcula o hash 4 em conjunto com RSA Data Security, Inc. MD5 Message-Digest Algorithm, e como resultado retorna uma string de 32 caracteres com valor hexadecimal ou 16 caso seja passado o argumento booleano como TRUE. $texto = informação"; echo md5($texto); //RESUTADO: cd4fbce046c46f107e45ae0ddd0db7d3 3 Ponto-a-ponto = Peer-to-peer - é uma topologia de redes caracterizada pela descentralização das funções na rede, onde cada terminal realiza tanto funções de servidor quanto de cliente. 4 Hash = É um método de cifrar dados de forma a manter a sua integridade. Ele cria uma string de tamanho fixo a partir de uma cadeia de caracteres de qualquer tamanho.

9 Company LOGO Usando crypt() Sua sintaxe é string crypt(valor); Retorna uma string e em geral implementa o algoritmo de encriptação Unix Standard DES-based 5. $texto = informação"; echo crypt($texto); // RESUTADO: $1$fs2.68/.$VM9iirUeSlJvl4WPWZZmx0 5 DES = Método de encriptação em que a string é dividida em oito caracteres e estes são restringidos a 7 bits cada, originando uma chave de 56 bits. Desde 1999 é considerado um script inseguro.

10 Company LOGO Usando sha1() Foi considerado o sucessor do MD5, é a melhor e mais estável das funções de hash SHA. Os algoritmos SHA foram desenhados pela National Security Agency (NSA 6 ) e publicados como um padrão do governo Norte-Americano. Calcula a hash sha1 usando US Secure Hash Algorithm 1, e retorna esta hash. A hash é um número hexadecimal de 40 caracteres. 6 NSA = Método de encriptação em que a string é dividida em oito caracteres e estes são restringidos a 7 bits cada, originando uma chave de 56 bits. Desde 1999 é considerado um script inseguro.

11 Company LOGO Usando md5_file() e sha1_file() Tanto a função md5() quanto sha1() possuem seus equivalentes para gerar hash de arquivos. Isso é util no caso de se verificar a integridade do conteúdo dos mesmos.

12 Company LOGO Exemplo Prático

13 Company LOGO Bibliografia Recursos avançados de criptografia em PHP Obrigado


Carregar ppt "Company LOGO www.testset.com.br Criptografia de dados em PHP."

Apresentações semelhantes


Anúncios Google