Jean Carlos Cunha

.:: Diferente e eficiente::.

Criptografia no PHP usando md5, sha1 e base64

Criptografia, de dados md5 sha1 base64. 

Codificação/criptografia muito usados no PHP.

md5
A primeira que vou falar é sem dúvida a mais comum, chama md5 que é um algoritmo de um hash de 128 bits. Não vou tentar explicar o que é hash nem algoritmo agora… Só vou explicar como você pode usar o md5 na sua aplicação.

O md5 gera uma string alfa-numérica de 32 caracteres, não importa se você tá gerando o md5 de duas letras ou de um texto de 20 parágrafos… O md5 gerado sempre vai ter 32 caracteres.

Você pode usar o md5 na hora de salvar um dado sigiloso (senhas) o banco… Com isso, ninguém tem acesso à senha original do cliente. Depois é só comparar o md5 do que foi digitado no campo senha (na hora do login) com o que está armazenado no banco, se bater, tá tudo certo.

Infelizmente o md5 tem um “problema”… Você pode, com muita dificuldade (preste atenção: muita dificuldade), gerar dois md5 iguais. Duas strings diferentes que acabem como um mesmo md5. Isso é raríssimo, mas pode acontecer.

Pra usar o md5 no PHP é só usar da seguinte forma:

view sourceprint?
1.$string = ‘O rato reu a ropa do rei de Roma’;
2.$codificada = md5($string);
3.echo “Resultado da codificação usando md5: ” . $codificada;
4.// 54cf74d1acdb4037ab956c269b63c8acsha1
A outra criptografia de mão única é o sha1. Ele é praticamente identico ao md5, só que tem 160 bits, o que acaba criando uma string-resultado maior: 40 caracteres alfa-numéricos. Outro ponto do sha1 é que, por ser 160 bits e gerar uma cadeia de caracteres maior, uma colisão (encontrar duas strings que, criptografadas, sejam a mesma coisa) é bem mais rara que numa chave de 128bits.

Usar o sha1 no PHP é exatamente a mesma coisa que o md5, só que mudando o nome da função:

view sourceprint?
1.$string = ‘O rato reu a ropa do rei de Roma’;
2.$codificada = sha1($string);
3.echo “Resultado da codificação usando sha1: ” . $codificada;
4.// b186b709f7cf5a1d98d413379a66e511df8d59a4base64
Essa criptografica eu gosto muito… Se chama base64 e é um método para codificação dos dados para transferência na Internet. Ela é uma codificação de mão dupla, e usando uma segunda função você pode descobrir a string original de uma string codificada.

Para usar ela no PHP você tem as duas formas:

view sourceprint?
01.$string = ‘O rato reu a ropa do rei de Roma’;
2.
 
03.$codificada = base64_encode($string); 
 
 
05.echo “Resultado da codificação usando base64: ” . $codificada;
06.// TyByYXRvIHJldSBhIHJvcGEgZG8gcmVpIGRlIFJvbWE=
07.
 
08.echo “<br /><br />”;
09.
 
10.$original = base64_decode($codificada);
11.
 
12.echo “Resultado da decodificação usando base64: ” . $original;
13.// O rato reu a ropa do rei de Roma
14.
 
15.// Note que $original vai ser idêntica a $stringViram como é simples? Com esses recursos é possível deixar a aplicação bem mais segura e, por que não, organizada.

No próximo post explicarei como criar as suas próprias funções no PHP. Até lá!

Documentação Oficial:
Função md5() » Criptografia de mão única
Função sha1() » Criptografia de mão única
Função base64_encode() » Função para codificar strings usando base64
Função base64_decode() » Função para decodificar strings usando base64

fonte tia net e outros blogs.

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: