Ir para conteúdo
Fórum Script Brasil
  • 0

Md5


Fabyo

Pergunta

MD5 não tem volta

Pessoal antes eu achava que o md5 tinha volta ,mas eu estudei bastante sobre o algoritimo do md5 e outras funções necessarias e com base no que eu aprendi e procurei,queria deixar bem claro que o md5 não tem volta.

Existem 3 tipos básicos de algoritimos de criptografia, os

simétricos, os assimétricos e os de hash.

Os simétricos e os assimétricos utilizam uma chave de criptografia e podem ser

descriptografados.

O hash não podem ser descriptografados, mesmo

porque o código que ele gera não tem nada a ver com o dado original.

Um "hash" é um código gerado matematicamente a partir de um dado

original. Ele não é um dado codificado, mas um valor gerado a partir de

uma origem, e qualquer modificação mínima do dado original implica em um

hash totalmente diferente. Quer dizer, mesmo que você tenha um arquivo

de 1 milhao de bytes, a mudança de 1 byte no meio já implica em um hash

totalmente diferente. É dito que a probabilidade de dois arquivos

diferentes terem o mesmo hash MD5 é de 1 em

340282366920938463463374607431768211456 (1 em 2^128).

Vejam tambem que um hash MD5 tem um tamanho fixo de 128 bits sempre,

portanto não importa o tamanho da entrada de dados, ele sempre terá o

mesmo tamanho. E por isso é imposível reverter um hash para o valor

original.

O único modo de quebrar a criptografia de um hash é por força bruta...

tentando todas as possibilidades possíveis até gerar o mesmo hash.. o

que pode levar literalmente anos ou décadas...

Link para o comentário
Compartilhar em outros sites

19 respostass a esta questão

Posts Recomendados

  • 0

É isso ae, eu tb fui ler mais sobre isso e resolvi fazer na prática: testei o seguinte:

<?php

$eu="teste";

echo $eu.'<br>';

$criptografa=md5($eu);

echo $criptografa.'<br>';

$descriptografa=md5($criptografa);

echo $descriptografa.'<br>';

?>

E o resultado foi:

teste

698dc19d489c4e4db73e28a713eab07b

fade225f096f9138f98f29887fc1f10d

Tinha postado para alguém que perguntou no fórum até, que seria possível o retorno dessa forma, mas vou lá pedir desulpas porque falei errado. Na verdade eu tinha interpretado mal um artigo do imasters, que tratava de uma encriptação de senhas para login e tals... eu tinha entendido dessa forma, mas olhei o artigo novamente e vi que n é assim.

o artigo se referia a encriptar a senha, enviar ao bd e quando fazer nova verificação encriptar novamente para poder testar e não desencriptar.... perdão pelo erro.

Obrigado Fabyo por ter ajudado a esclarecer. wink.gif

Link para o comentário
Compartilhar em outros sites

  • 0

é MD5 é foda, tanto q se você utilizar o MD5 nas senhas de seu site e se algum de seus usuarios esquecela você tera q gerar outra senha para mandar para ele hehe

já fiz teste em sites q mandão a senha para seu e-mail uma senha totalmente diferente hehe pois não tem como recuperar a antiga.

Valeu Fabyo belo post = )

Link para o comentário
Compartilhar em outros sites

  • 0

md5 não tem volta o q aquele site faz he comprarar os hases como db d palavras q ele tem la e outra coisa md5 eu parei d usar descobri q tanto como ele quanto o sha1 podem ter hash identicos para valores diferentes. eu montei o meu proprio ash com uma mistura d md5 e sha1 com 51 digitos.

Link para o comentário
Compartilhar em outros sites

  • 0

existem varios destes sites..

por exemplo

http://gdataonline.com/seekhash.php

se colocar 698dc19d489c4e4db73e28a713eab07b

vai retornar : teste

porem se criar algo mais complexo como : 6f2ecb80abd5fb253dc772c6d406c427

ele apresenta erro.. este representa : M12aB52ht89

na verdade é como o jasar falou é um banco de dados que tem o md5 e o que gerou ele

eu acho que se o codigo for de uns 3 a 4 caracteres deve dar para reverter mas de 4 a quantidade de operações é enorme fica inviavel

Link para o comentário
Compartilhar em outros sites

  • 0

Opa..

tem volta si..

olha só um teste crie um md5 com até 3 caracteres usando numeros e letras não utilizar Ç ! @ # $ % "& * ( ) etc.. que não foi implementado..

se colocar mais que 3 caracteres vai parar por tempo de execução do script.

http://sistemas.infinitehost.com.br/testes/decriptamd5.php

Link para o comentário
Compartilhar em outros sites

  • 0

tem não ele faz por comparação rsss eu posso faz eum script q faz todas comparaçõe spossiveiz e vai armazenando no banco de dados quando alguém pesquisa ele tem la gravado

rsss e tem mais c você aumenta o tempo limite d execulção no teu server tem outro problema

você pode ter o mesmo hash pra letras ou temros diferentes :D

Editado por Jasar
Link para o comentário
Compartilhar em outros sites

  • 0

legalzinho né..

segue o codigo..

<form action="decriptamd5.php" method="post">
<input type="text" name="string">
<input type="submit" name="fazer" value="Envia">
</form>

<?php
$input=$_POST['string'];

if($_POST['fazer'])
{
Echo 'Mais que 3 caracteres vai parar por tempo de execução do script, então teste com o maximo de 3 caracteres de 0 a 9 e A a Z, não foi implementado caracteres como !@#$%*()_+ .<br><br><br>';

$letras=array();
$letras[]='';
$letras[]=' ';
$letras[]='1';
$letras[]='2';
$letras[]='3';
$letras[]='4';
$letras[]='5';
$letras[]='6';
$letras[]='7';
$letras[]='8';
$letras[]='9';
$letras[]='0';
$letras[]='a';
$letras[]='b';
$letras[]='c';
$letras[]='d';
$letras[]='e';
$letras[]='f';
$letras[]='g';
$letras[]='h';
$letras[]='i';
$letras[]='j';
$letras[]='k';
$letras[]='l';
$letras[]='m';
$letras[]='n';
$letras[]='o';
$letras[]='p';
$letras[]='q';
$letras[]='r';
$letras[]='s';
$letras[]='t';
$letras[]='u';
$letras[]='v';
$letras[]='w';
$letras[]='x';
$letras[]='y';
$letras[]='z';
$letras[]='A';
$letras[]='B';
$letras[]='C';
$letras[]='D';
$letras[]='E';
$letras[]='F';
$letras[]='G';
$letras[]='H';
$letras[]='I';
$letras[]='J';
$letras[]='K';
$letras[]='L';
$letras[]='M';
$letras[]='N';
$letras[]='O';
$letras[]='P';
$letras[]='Q';
$letras[]='R';
$letras[]='S';
$letras[]='T';
$letras[]='U';
$letras[]='V';
$letras[]='W';
$letras[]='X';
$letras[]='Y';
$letras[]='Z';

$start1=0;
$start2=0;
$start3=0;

while($input!=md5($teste))
   {
      $string=array();
      $string[]=$letras[$start1];
      $string[]=$letras[$start2];
      $string[]=$letras[$start3];
      $string[]=$letras[$start4];
      $start1=($start1 + 1);
      
      if($start1>68)
         {
         $start1=0;
         $start2=($start2 + 1);
         }
         
         
      if($start2>68)
         {
         $start2=0;
         $start3=($start3 + 1);
         }
         
         if($start3>68)
         {
         $start3=0;
         $start4=($start4 + 1);
         }
      
      $teste=implode($string);
      if (($start1>=70) || ($start2>=70) || ($start3>=70) || ($start4>=70))
         {
         exit;
         }
   }

$teste = str_replace(" ", "SPACE", $teste);

echo "<hr>".$input . ' <hr>Resultado : <b>' . $teste."</b><hr>";
}

?>

Link para o comentário
Compartilhar em outros sites

  • 0

eu coloquei aqui local no meu linux e para fazer e demora demais .. já pensou o load que isto daria no host.,

coloquei o codigo, quase todo mundo que vai testar tem o php local e pode implementar mais caracteres..

Link para o comentário
Compartilhar em outros sites

  • 0
Guest --Fabyo --

So pra continuar na mesma tecla, MD5 não tem volta, é pura matematica, ele gera um hash que é impossivel ter volta

o que esses codigos fazem é manter uma base com senhas MD5 e comparar, comparar nada mais é que chutar ate descobrir a senha

eles salvam uma senha MD5 e a sua original por exemplo:

123 = 202cb962ac59075b964b07152d234b70

1234 = 81dc9bdb52d04dc20036dbd8313ed055

e dai o banco vai crescendo, se você passar uma senha MD5 tipo 202cb962ac59075b964b07152d234b70, ele vai no banco e pesquisa e traz o equivalente 123

e assim por diante

e programas que dizem descriptografar o MD5, é a mesma coisa ele fica gerando MD5 apartir de senhas ate tentar descobrir

mas continuo dizendo MD5 não tem volta quem insiste é porque não entende e cai nesses engodos

Link para o comentário
Compartilhar em outros sites

  • 0

Fala Fabyo.. anda sumido heim, como anda as coisas ai em Sorocaba..

colisão da para fazer.. é o que acontece..

como anda o ingles ai?? se tiver bom:

http://en.wikipedia.org/wiki/Md5 (veja em vulnerabilidade sobre colisão)

bem.. mudando um pouco o foco.. qual o objetivo de usar o md5 em senhas.. proteger o que foi digitado ou impedir acessos indevidos??

se for proteger fica impossivel mesmo se utilizar mais tecnologias juntas como o Jasar fez juntar mais de uma tecnologia e não divulgar como é feito.. mas se tiverem acesso ao seu codigo nada é impossivel..

se for proteger acesso é bobeira, tem que proteger ao maximo sql injection que se a pessoa tiver acesso a tabela que tem ao md5 e ai é só substituir por um gerado com o que quiser e acessar o sistema normalmente com a senha que quiser

e ainda tem gente que coloca senhas como deus, jesus, datas de nascimento, nome de filhos, da esposa ou o proprio nome, é assim que se acessam normalmente testando (aconteceu recentemente com a candidata a vice presidencia americana)

quebrar é possivel ou por colisão ou tentativas ou engenharia social,

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      651,9k
×
×
  • Criar Novo...