É possível descriptografar o MD5 Hashing? [fechadas]

0

Eu estava vendo um vídeo sobre como hash de senhas com MD5 Hashing. Depois de pesquisar sobre isso, descobri que o Facebook também usa o esquema de hash MD5. Agora eu estava curioso para saber se podemos descriptografar a senha facilmente? Se isto é assim, qual é a vantagem do hash MD5 então?

    
por Fahad Uddin 14.05.2012 / 21:08

5 respostas

9

Resposta curta: MD5 é uma maneira de saber o suficiente sobre uma senha para compará-la - uma impressão digital única - sem realmente manter a senha por perto.

Mais um: O MD5 pode ser pensado em um gerador de impressões digitais. Você pega o máximo de bits possível e o final é de 128 bits. O md5sum sempre será o mesmo para qualquer string. Mas, é difícil prever o que um md5sum será para qualquer string dada. Não pode ser revertido. Você não pode recuperar a senha do hash, essa informação é descartada.

Por que MD5? Você não quer armazenar a senha real. Se eu conseguir invadir seu banco de dados, receberei as senhas. Isso não é seguro.

Então eu posso armazenar um hash. No login, recebo md5sum da senha que você digitou, e o md5sum no db, vê se eles combinam. Então, mesmo se você receber o hash, não poderá voltar atrás para obter a senha. Você tem o hash, mas em teoria você não pode obter a senha.

Isso é mais seguro, mas lembre-se, a mesma senha sempre será hash para o mesmo md5. 'password' sempre será 286755fad04869ca523320acce0dc6a4. Se eu ver 286755fad04869ca523320acce0dc6a4 no banco de dados, sei que sua senha é 'senha'. Então, uma técnica é adicionar algo chamado 'sal', um pouco de exclusividade à sua senha. Então, digamos para mim, meu sal é escolhido para ser, oh Idunno, '1b24'. Eu adiciono isso aos dados md5, que me pegam c4f8469e00c67d70dfbaa91cdf948fa8. Quando eu armazenar a senha, talvez eu armazene 1b24 | c4f8469e00c67d70dfbaa91cdf948fa8. Então, quando você digita 'senha', eu vejo no banco de dados eu preciso adicionar 1b24, e eu recebo a correspondência.

O MD5 não é realmente usado para isso. Há outros mais recentes (como o SHA1) que jogam os bits melhor. Às vezes você passa por várias rodadas. Isso aumenta a segurança ao dificultar a geração de listas enormes dessas impressões digitais - é muito demorado para computar.

    
por 14.05.2012 / 21:51
6

O MD5 é um hash unidirecional. Isso foi discutido algumas vezes no estouro de pilha:

link

link

    
por 23.05.2017 / 13:33
3

Esta postagem em IT Security @ stackexchange deve ser suficiente para você entender o problema.

O problema está (corajosamente) em dois fatos:

  • "md5_mixalpha-numeric-all-space # 1-8: 1049 GB" pode ser baixado como um torrent gratuito para todos no site, como estes , que significam mais de 1TB de diferentes strings únicas contendo letras maiúsculas e e mais espaços e e de um a oito caracteres de comprimento.
    Dado que você tem os arquivos no seu disco rígido (use squashfs, pessoal!) Você apenas tem que procurar o MD5 desejado e você obterá a string original (ou mesmo uma colisão se você for quase impossivelmente sortudo) ), de qualquer forma você tem uma senha válida:)

  • Um problema com todo esquema de hashing simples é que dois usuários usando a mesma senha obteriam o mesmo hash, invertendo um deles lhe daria várias contas de uma só vez e isso apenas pioraria as conseqüências da primeira falha

Existem três soluções para isso:

  • o velho de baixa qualidade:
    MD5 (password) ou SHA128 (PASSWORD), quebrado por padrão, muitos * NIX implementam um esquema melhor desde pelo menos vinte anos, nada a acrescentar.

  • MD5 (SAL + SENHA) em que SALT é exclusivo por usuário e armazenado em claro, o que exige que o invasor gere uma tabela de arco-íris para cada senha que deseja violar.
    Pode deter alguns, mas um ataque de dicionário ainda pode ser muito poderoso, já que muitos usuários / a maioria têm senhas fracas. E tenha em mente que agora temos soluções para alugar (relativamente) barato GPUs poderosos, até mesmo um GPU de US $ 400 é uma fera em seqüências de hash, especialmente se os cálculos forem distribuído entre milhares de máquinas.

  • o "não é novo em tudo" e apenas soluções aceitáveis agora: bcrypt e scrypt

Por favor, seja sábio e adote a última solução, pelo menos escolha um esquema PKBDF2 que você não tente projetar, dê uma olhada aqui:
link

    
por 14.05.2012 / 22:16
1

Você não pode recuperar sua senha se salvar a senha em md5 hash .. O site que possui módulo de recuperação de senha salva a senha na forma normal.

Você pode tentar o link para recuperar sua senha md5

    
por 26.03.2013 / 01:25
1

Certamente não decifrá-lo, como foi dito constantemente. No entanto, existem alguns artigos falando sobre forçar colisões md5. Isso basicamente significa que, como o hash é gerado por um conjunto aleatório de "equações" aplicadas a cada bit das informações que você está processando (lembre-se que você pode alterar qualquer coisa de uma senha para um arquivo ou várias), também é possível encontrar outra string de comprimento indefinido que criará o mesmo hash.

Aqui está um link para um dos primeiros (e acho que um dos melhores) trabalhos de pesquisa sobre o tema. [PDF] link

    
por 26.03.2013 / 01:32