Programação  
 
Conhecimento computador >> Programação >> Programação PHP /MySQL >> 
Como criar chaves secretas em PHP
O MD5 Message- Digest Algorithm é um algoritmo de criptografia unidirecional freqüentemente usado para a criação de chaves secretas , que são chamados hashes MD5. Uma vez que a criptografia é uma maneira , duas cadeias de texto diferentes podem produzir o mesmo hash MD5 , o que significa que você não pode decifrá-lo . Existe um número infinito de formas para produzir o mesmo hash . No entanto , os hackers têm maneiras de descobrir as cordas usadas para criar hashes , assim que paga para criá-los com cuidado. PHP : Hypertext Preprocessor é uma linguagem de programação que suporta MD5 e outros algoritmos de criptografia também. Instruções
1

Criar uma cadeia de sal, que é uma cadeia unguessable usada para criptografia. A seqüência de sal será usado para a criação de hashes , bem como determinar a sua validade. Uma maneira de criar uma boa seqüência de sal é embaralhando um monte de caracteres aleatórios com função md5 do PHP. A saída da função é um número hexadecimal de 32 dígitos , dando-lhe mais do que 3,40 x 10 ^ 38 combinações possíveis. Por exemplo, incluir algo como o seguinte em seu código PHP:

$ sal = md5 ( " 4hJUd5sPP97hT ");
2

Combine o texto com a string de sal com o operador de concatenação , que na verdade é um período , e criptografá-lo com a função md5 . Por exemplo, se você estiver criptografando senhas , digite:

$ password = " Us54EEh5R ";

$ criptografada = md5 ( . $ Password $ sal );

"Rainbow mesas " são bases de dados utilizadas para quebrar hashes MD5 , a maior das quais têm entre 10 e 20 mil milhões de entradas. Mesmo que um banco de dados tinha 100 bilhões de hashes MD5 distintos , isso é menos de uma em 10 ^ 27 das combinações possíveis. Se uma gota de água é de cerca de 1/10 cm ^ 3 , levaria cerca de 1,4 x 10 ^ 25 gotas para encher os oceanos da Terra . Portanto , as tabelas do arco-íris representam menos de uma queda em todos os oceanos da Terra. Se a seqüência de sal é bom, não há quase nenhuma chance de o hash criptografado está em um banco de dados. Mesmo se um dos bancos de dados teve o mesmo hash , a seqüência utilizada para criar seria diferente daquele no banco de dados , porque eles não podem desperdiçar espaço de banco de dados valiosos sobre as infinitas combinações de senhas MD5 - salgado. Essas bases de dados estão indo atrás de alvos muito mais simples.
3

Verifique hashes , conforme necessário , criando o hash como você fez antes e compará-lo com o original. No caso de senhas , armazenar as senhas criptografadas em um banco de dados . Quando alguém tenta usar uma senha, criptografar a senha digitada com o sal , e compará-lo com a cópia do banco de dados . Desta forma , mesmo que o administrador de banco de dados não sabe nenhuma das senhas. Por exemplo, digite :

$ encrypted_entry = md5 ( $ $ entrada de sal. );

If ($ encrypted_entry == $ criptografada) $ válido = TRUE;

mais $ válido = false;

Anterior :

Próximo : No
  Os artigos relacionados
·Por que não MySQL padrão para UTF-8 
·MySQL Auto - Incremento está fora de sincronia 
·Como Chegar JavaScript se ele está desativado no PHP 
·Como Ler Solicitações e Respostas PHP em ASP.NET 
·Fuja de consulta para o MySQL em Python 
·Como converter coluna de caracteres no MySQL 
·Como capturar um título página usando PHP 
·MySQL PHP upload da imagem Tutoriais 
·Como analisar XML Esportes Feeds 
·Como escrever um formulário com jQuery 
  Artigos em destaque
·Como ler a entrada de teclado USB em Linux 
·Padrões freqüentes na árvore Algoritmos 
·Como rastrear lentamente em JavaScript 
·Como Eliminar um JFrame 
·Como fazer Floats estáticos em Java 
·Como Abrir & Convert FLL Documentos 
·Como armazenar dados de BASIC Stamp 
·Limites do Eixo em MATLAB 
·Como criar um menu em Programação Android 
·Três categorias de Linguagens de Programação 
Cop e direita © Conhecimento computador http://ptcomputador.com Todos os Direitos Reservados