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 www.testset.com.br Criptografia de dados em PHP

2 www.testset.com.br 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 www.testset.com.br 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 www.testset.com.br 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 www.testset.com.br 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 www.testset.com.br 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 e-mail. 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 www.testset.com.br 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 www.testset.com.br 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 www.testset.com.br 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 www.testset.com.br 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. <?php $str = 'apple'; if (sha1($str) === 'd0be2dc421be4fcd0172e5afceea3970e2f3d940') { echo "Senha válida"; exit; } ?> 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 www.testset.com.br 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. <?php $str = arquivo.doc'; if (sha1($str) === 'd0be2dc421be4fcd0172e5afceea3970e2f3d940') { echo Arquivo válido"; exit; } ?>

12 www.testset.com.br Company LOGO Exemplo Prático http://www.testset.com.br/home/cripto.php

13 www.testset.com.br Company LOGO Bibliografia http://www.google.com.br http://pt.wikipedia.org http://forum.imasters.uol.com.br http://revistaphp.com.br http://phpavancado.net http://php.net Recursos avançados de criptografia em PHP http://www.php.net/manual/pt_BR/intro.mcrypt.php Obrigado


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

Apresentações semelhantes


Anúncios Google