MD5 (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 |
Fé | 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.
Se tiver uma sorte monstruosa você conseguirá encontrar alguma senha. Porém nem perca tempo tentando recuperar um arquivo corrigindo falhas de integridade.
Características
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.
Onde o MD5 entra no CCNA (CCNAX), CCENT e ICND-2?
O MD5 é utilizado para esconder a senha de enable (enable secret) quando damos um “show running-config”, para fazer a verificação se o IOS está íntegro ao fazermos uma cópia para a flash (comando verify), pode utilizado no processo do estabelecimento de uma VPN (tanto o MD5 como o SHA) e também durante a troca dos challenges (mensagens) entre os roteadores para fazer a autenticação do PPP com CHAP (Challenge-Handshake Authentication Protocol).
A Cisco disponibiliza um link sobre o PPP com Chap muito interessante para visualizar a aplicação do MD5, onde as figuras dizem muito (para aqueles que não conseguirem ler em inglês), vale a pena dar uma visitada: Understanding and Configuring PPP CHAP Authentication
Fonte: Blog do Silvio Lobo
Acesse o curso de “CCNA CCENT e CCNA ICND-2 Online” em nossa área Premium.
Prepare-se para o CCNA e aprenda várias tecnologias fundamentais para área de Redes como STP, RSTP, OSPF, OSPFv3, troubleshooting e muito mais.
Clique aqui para ativar o curso e inciar seus estudos em nossa área de membros premium!
Não é membro premium? Clique aqui e saiba mais sobre a DlteC Premium.
One Response
mt b0m