Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

erison

md5 vuneravel?

Recommended Posts

Boa tarde estava pesquisando, achei alguns sites que descriptografa md5, os meus md5 que tem no banco não deu certo, mais tinha alguns exemplos que realmente funcionou.

 

qual criptografia mais segura atualmente?

 

fontes :

http://pt.kioskea.net/faq/5283-mitos-md5-foi-quebrado

http://blogholmes.com.br/postagens/ler/280-senha-em-md5-mais-segura

Compartilhar este post


Link para o post
Compartilhar em outros sites

Qual o comando para criptografar em php a palavra "xurisso", e descriptografar usando estas criptografias que você mencionou?

 

Tenho a mesma duvida do colega, só falta me passar o código em php para usar elas!

Compartilhar este post


Link para o post
Compartilhar em outros sites

SHA-256, SHA-512, Bcrypt, etc. com um salt.

 

pode dar um exemplo no php?

por que esse e melhor que md5?

o que é isso "com um salt"?

Compartilhar este post


Link para o post
Compartilhar em outros sites

SHA-256 ou maior supostamente nunca foi quebrado mas eu evitaria qualquer algorítimo ligado a NSA por conta do caso Snowden.

 

Um hash MD5 equivalente ao dos dados originais pode ser obtido usando o processamento de placas de vídeo.

 

#3

 

Hashs são unidirecionais, isso significa que um vez que a informação é criptografada ela não pode ser recuperada.

 

Edit

 

Nesse artigo tem um bom código bem explicadinho: http://blog.thiagobelem.net/criptografando-senhas-no-php-usando-bcrypt-blowfish/

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu acho que o melhor não é somente trocar de criptografia para este caso,

 

E sim, criptografar a propria criptografia em um outro tipo de criptografia.

 

Assim se alguem descriptografar vai encontrar um codigo criptografado e e terá que descriptografar ambos, o confundindo e desistindo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá erison, eu já avisei para várias pessoas que a criptografia com md5 é muito ruim e não é recomendada por livros de php .

Ele é sim vulnerável e os amigos a cima estão completamente certos! você deve mudar para o SHA .

 

Segue um exemplo que eu utilizei em meu site:

<?php
  // Definir constantes de conexão de banco de dados
  define('DB_HOST', 'localhost');
  define('DB_USER', 'root');
  define('DB_PASSWORD', '');
  define('DB_NAME', 'SUABASEDEDADOS');

  // Conectando a base de damos 
  $dbc = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);

  if (isset($_POST['submit'])) {
    // Recebendo informações do formulario de cadastro
    $username = mysqli_real_escape_string($dbc, trim($_POST['username']));
    $senha1 = mysqli_real_escape_string($dbc, trim($_POST['password1']));
    $senha2 = mysqli_real_escape_string($dbc, trim($_POST['password2']));

    if (!empty($username) && !empty($senha1) && !empty($senha2) && ($senha1 == $senha2)) {
      // Certifique-se de alguém que ainda não esteja registrado com esse nome de usuário
      $query = "SELECT * FROM SUATABELA WHERE username = '$username'";
      $data = mysqli_query($dbc, $query);
      if (mysqli_num_rows($data) == 0) {
        // O nome do usuário é original, assim inserir os dados no banco de dados
        $query = "INSERT INTO SUATABELA (username, password, join_date) VALUES ('$username', SHA('$senha1'), NOW())";
        mysqli_query($dbc, $query);

        // Confimando o Sucesso do cadastro
        echo '<p>Sua nova conta foi criada com sucesso. Agora você está pronto para<a href="login.php">Logar</a>.</p>';

        mysqli_close($dbc);
        exit();
      }
      else {
        // Se existir uma conta já cadastrada, exibir a mensagem de erro .
        echo '<p class="error">Já existe uma conta para este username. Por favor, utilize um endereço diferente.</p>';
        $username = "";
      }
    }
    else {
	 //Se o usuário não preencher nenhum campo, exibir a mensagem de erro .
      echo '<p class="error">Você deve digitar todos os dados de inscrição, incluindo a senha desejada duas vezes.</p>';
    }
  }
?>

 

Meu Site: http://abluetv.com

Fonte: Use a cabeça, PHP & MYSQL - http://www.altabooks.com.br/use-a-cabeca-php-and-mysql.html

Compartilhar este post


Link para o post
Compartilhar em outros sites

Atualmente estou usando bastante bcrypt, ele parece ser seguro e não o estudei profundamente pra ver se há alguma vulnerabilidade, mas pelo que li ele é um dos mais seguros hoje.

 

Caso você se interesse, tem esse tutorial bem básico do Thiago Belem:

:seta: Criptografando senhas no PHP usando bcrypt (Blowfish)

 

[edit] Ops, repostei o que o @Raoni Botelho Sporteman postou (link)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, se você souber o codigo php de descriptografar md5 ou seja la qual for a criptografia vai dar na mesma,

 

a diferença é que algumas são menos conhecidas por hackers leigos (scriptkids), e a md5 é a mais conhecida.

 

Melhor é como eu falei, criptografa, e depois manda criptografar denovo, em duas vezes com duas criptografias diferentes você vai enrolar bem o camarada se quer segurança de verdade, faça até 4 vezes cada uma com uma diferente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não isso, é que se não há um salt, é muito mais fácil pra descriptografar, sendo que a criptografia de determinada string sempre vai ser a mesma.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Criptografia (two way) é diferente de hashing (one way), cuidado com os termos. O que nós estamos falando aqui é hashing.

 

Ao fazer hashing do hash — ex: sha512(sha512(password)) —, o risco de conflito aumenta e, consequentemente, diminui a segurança. Um salt decente + bcrypt resolve o problema tranquilamente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Uma duvida, por que daria conflito? Conheco uma empresa de games que faz 4 criptografias da senha dos usuarios, e eu não imagino por que iria dar conflito.

 

é uma duvida mesmo nao estou te duvidando

Compartilhar este post


Link para o post
Compartilhar em outros sites

Seria colisão a palavra correta, perdão.

 

Todo algorítimo hash tem uma chance (normalmente pequena) de ter uma colisão porque as possibilidades de output são menores do que as de input (não existe hash de mil caracteres, mas existe texto de dois mil caracteres, por exemplo).

 

Se estipularmos um risco de colisão em 0,00001%, esse é o risco de colisão para um hash. Agora, se esse é feito um hash do hash esse risco aumenta para 0,00002% e assim vai.

 

É coisa pequena, principalmente para senhas (menos de 40 caracteres certamente), mas é relevante se paramos para pensar que estamos usando mais processamento para regredir. Esse problema pode ser mais visivelmente explorado com o Birthday Attack.

Compartilhar este post


Link para o post
Compartilhar em outros sites

bCrypt e função nativa do php?

no manual do php achei apenas crypt

 

http://www.php.net/manual/pt_BR/function.crypt.php



Olá erison, eu já avisei para várias pessoas que a criptografia com md5 é muito ruim e não é recomendada por livros de php .

Ele é sim vulnerável e os amigos a cima estão completamente certos! você deve mudar para o SHA .

 

Segue um exemplo que eu utilizei em meu site:

<?php
  // Definir constantes de conexão de banco de dados
  define('DB_HOST', 'localhost');
  define('DB_USER', 'root');
  define('DB_PASSWORD', '');
  define('DB_NAME', 'SUABASEDEDADOS');

  // Conectando a base de damos 
  $dbc = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);

  if (isset($_POST['submit'])) {
    // Recebendo informações do formulario de cadastro
    $username = mysqli_real_escape_string($dbc, trim($_POST['username']));
    $senha1 = mysqli_real_escape_string($dbc, trim($_POST['password1']));
    $senha2 = mysqli_real_escape_string($dbc, trim($_POST['password2']));

    if (!empty($username) && !empty($senha1) && !empty($senha2) && ($senha1 == $senha2)) {
      // Certifique-se de alguém que ainda não esteja registrado com esse nome de usuário
      $query = "SELECT * FROM SUATABELA WHERE username = '$username'";
      $data = mysqli_query($dbc, $query);
      if (mysqli_num_rows($data) == 0) {
        // O nome do usuário é original, assim inserir os dados no banco de dados
        $query = "INSERT INTO SUATABELA (username, password, join_date) VALUES ('$username', SHA('$senha1'), NOW())";
        mysqli_query($dbc, $query);

        // Confimando o Sucesso do cadastro
        echo '<p>Sua nova conta foi criada com sucesso. Agora você está pronto para<a href="login.php">Logar</a>.</p>';

        mysqli_close($dbc);
        exit();
      }
      else {
        // Se existir uma conta já cadastrada, exibir a mensagem de erro .
        echo '<p class="error">Já existe uma conta para este username. Por favor, utilize um endereço diferente.</p>';
        $username = "";
      }
    }
    else {
	 //Se o usuário não preencher nenhum campo, exibir a mensagem de erro .
      echo '<p class="error">Você deve digitar todos os dados de inscrição, incluindo a senha desejada duas vezes.</p>';
    }
  }
?>

 

Meu Site: http://abluetv.com

Fonte: Use a cabeça, PHP & MYSQL - http://www.altabooks.com.br/use-a-cabeca-php-and-mysql.html

 

 

ola não achei onde você esta criptografando a sua senha,

esse seu site : http://abluetv.com , revise seu codigo pois o mesmo esta com falha de sql(sql injection).

para mais na frente não ter dor de cabeça.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, se você souber o codigo php de descriptografar md5 ou seja la qual for a criptografia vai dar na mesma,

 

a diferença é que algumas são menos conhecidas por hackers leigos (scriptkids), e a md5 é a mais conhecida.

 

Na verdade mesmo com acesso aos dados criptografados e com um entendimento profundo do algorítimo de criptografia usado nele com todas suas operações matemáticas e tudo que elas implicam é impossível quebra qualquer criptografia decente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Alguém aí pode me dizer qual é a minha senha MD5 que está salva em meu banco de dados, e então descriptografá-la ?! rsrsrsrsr

 

Vocês não acham um pouco difícil de alguém invadir a aplicação de vocês, devido ao uso do MD5 ? Vocês levam apenas em consideração de que o MD5 é inseguro ? e os demais fatos ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Alguém aí pode me dizer qual é a minha senha MD5 que está salva em meu banco de dados, e então descriptografá-la ?! rsrsrsrsr

 

Vocês não acham um pouco difícil de alguém invadir a aplicação de vocês, devido ao uso do MD5 ? Vocês levam apenas em consideração de que o MD5 é inseguro ? e os demais fatos ?

 

Pesquisando no google por md5 rainbow table eu vi esse site (que ainda permite o download da wordlist):

https://crackstation.net/

 

É aquela velha história: O seguro morreu de velho. Rs

 

(Obs: entendi o que vc quis dizer, só que prefiro não utiliza-lo em alguns casos :D)

 

 

Vocês levam apenas em consideração de que o MD5 é inseguro ?

 

Não...mas pode ser uma das entradas...

Sempre é bom fazer de tudo para que não aconteça nada. Rs

 

(se falei besteira me corrijam)

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.