Avaliação do Usuário: 5 / 5

Estrela ativaEstrela ativaEstrela ativaEstrela ativaEstrela ativa
 

md5MD5 (Message-Digest algorithm 5) é um algoritmo de “hash” de 128 bits unidirecional. O MD5 é um método em é possível transformar uma palavra num MD5 hash, porém com um MD5 hash nunca é possível encontrar a palavra que o originou.

 O que isto significa?

 O MD5 é muito útil quando você quer arquivar senhas. Pois uma senha como por exemplo “12345678” gerá o MD5 hash  “25d55ad283aa400af464c76d713c07ad” (sempre sem aspas) porém se alguém descobrir o MD5 hash, será incapaz (teoricamente) de encontrar a senha que o gerou.

Uso na prática

 Um administrador de site que prese pela autenticidade das operações pede a seu usuário que crie uma senha. Ele a digita, e ao mandar salvar o script irá gerar o MD5 hash e apenas este será arquivado. Assim, mesmo que o administrador entre em seu banco de dados e vizualise a senha, o que ele irá ver é apenas o MD5 hash. Então quando seu internauta volta no site, e ditiga a senha, o script irá gerar o MD5 hash  como ocorreu na primeira vez, e irá comparar com o que está arquivado. Se o MD5 Hash gerado for igual ao que está arquivado o acesso será permitido, se for diferente, será negado.

Exemplos

Abaixo alguns caracteres "palavras", ou senhas, e o MD5 hash

Caractere Texto

MD5 hash

12345678

25d55ad283aa400af464c76d713c07ad

silviolobo

e8571a7f8d9d0e95b2448784e0b02396

Amor

5da2297bad6924526e48e00dbfc3c27a

01e973a860fe82b0bae4c529c857348c

a

0cc175b9c0f1b6a831c399e269772661

 MD5 em caracteres longos, arquivos, o que muda?

 Os MD5 podem ser usados para assinatura de programas, ou arquivos. UM exemplo de MD5 longo.

Pai nosso que estais no Céu, santificado seja o Vosso Nome, venha a nós o Vosso reino, seja feita a Vossa vontade, assim na terra como no Céu. O pão nosso de cada dia nos dai hoje; perdoai-nos as nossas ofensas, assim como nós perdoamos a quem nos tem ofendido, e não nos deixeis cair em tentação, mas livrai-nos do mal. Amém.

MD5 hash: 99d155a830d49cab342b6e539156c6c1

 Vou retirar o acento do “amém” e verificar como fica o MD5 hash 

Pai nosso que estais no Céu, santificado seja o Vosso Nome, venha a nós o Vosso reino, seja feita a Vossa vontade, assim na terra como no Céu. O pão nosso de cada dia nos dai hoje; perdoai-nos as nossas ofensas, assim como nós perdoamos a quem nos tem ofendido, e não nos deixeis cair em tentação, mas livrai-nos do mal. Amem.

MD5 hash: a0d86fea9f6c226fb357863616e82751

 Conservei o texto idêntico, mas na primeira em que a palavra “amém” esteve acentuada o MD5 hash foi “99d155a830d49cab342b6e539156c6c1” no segundo caso onde foi colocado “amém”, o MD5 hast foi “a0d86fea9f6c226fb357863616e82751”

 Um único acento modifica o MD5 hash, assim ele é ideal para verificação da integridade de arquivos e documentos. E você encontrará diversos arquivos na internet, com imagens de disco (Linux, programas) que juntamente com o arquivo você encontrará o MD5 que será usado para comparar que seu arquivo “baixado” está integro.

 Segurança! É possível recuperar o “original” que gerou o MD5?

 Teoricamente, não! Mas existem na internet ferramentas que servem como Dicionários. Assim, cada vez que uma pessoa digita uma palavra, ele gera o MD5 hash, e guarda no banco de dados. No futuro quando alguém digita um MD5 hash, ele busca no banco de dados e exibe a palavra que foi registrada no passado.

Um exemplo é  http://md5.networkcore.eti.br/

 Se tiver uma sorte monstruosa você conseguirá encontrar alguma senha. Porém nem perca tempo tentando recuperar um arquivo corrigindo falhas de integridade.

Caracteristicas

O md5 hash é uma string alfa-numérica de 32 caracteres.
Facilmente usado no PHP com a Função md5(); Exemplo: md5($string).

Dúvida cruel: Existe a possibilidade de que duas MD5 hash sejam iguais?

Sim, mas seria algo rarissímo, extremamente raro, além do mais isto não chega a ser um problema dado a finalidade dele.

Notas: MD5 foi desenvolvido pela RSA Data Security, ele é a grosso modo um cálculo complexo feito com cada um dos caracteres apresentados, seja de uma senha ou do código do programa ou arquivo; MD5 hash é como chamamos o resultado deste cálculo.

Deixe seu comentário

Todos os campos * são obrigatórios