Ir para conteúdo

POWERED BY:

Arquivado

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

elton corsi

[Resolvido] criptografia MD5

Recommended Posts

Bão galera é o seguinte, tenho um site aqui com a parte de cadastro tudo pronto, formulario de recuperação de senha por email tbm ja esta pronto, mais é o seguinte queria dar mais segurança ao meu sistema, pensei em usar criptografia md5 para a senha, mais e se o usuario perder essa senha como eu vou lhe enviar um formulario com a senha dele? acho q nao tem jeito né de recuperar!

 

se nao tiver geito eu pensei em fazer um link para ele gerar uma nova senha, mais nao tenho ideia de como fazer isso, pensei em mandar os dados por email e na senha colocar esse link para ele gerar uma nova senha

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tem como sim, você usa o md5() para criptografar e vice-versa, exemplo

 

<?php
$string = "luis";
$md5 = md5($string);
$resultado = md5($md5);

echo $resultado;
echo "<br />";
echo $md5;
?>

Isso é um exemplo, que ele vai criptografar o valor $string, e transforar ele no valor $md5. E depois decriptografar o valor $md5 retornando o valor $resultado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Me desculpe Back-on, mas o que disse não tem sentido algum. O md5 é um hash, portanto não tem volta. É o que chamamos de criptografia de mão única.

 

Elton, uma das possíveis soluções é criar a possibilidade definir uma nova senha. Um link é enviado para o e-mail e por esse link o usuário pode mudar a sua senha.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bão galera é o seguinte, tenho um site aqui com a parte de cadastro tudo pronto, formulario de recuperação de senha por email tbm ja esta pronto, mais é o seguinte queria dar mais segurança ao meu sistema, pensei em usar criptografia md5 para a senha, mais e se o usuario perder essa senha como eu vou lhe enviar um formulario com a senha dele? acho q nao tem jeito né de recuperar!

 

se nao tiver geito eu pensei em fazer um link para ele gerar uma nova senha, mais nao tenho ideia de como fazer isso, pensei em mandar os dados por email e na senha colocar esse link para ele gerar uma nova senha

 

Você pode gerar novamente a senha:

Faz um update no banco de dados da senha criptografada e encaminha a nova senha por e-mail.

 

<?php
$CaracteresAceitos = 'abcdxywzABCDZYWZ0123456789';
$max = strlen($CaracteresAceitos)-1;
$password = null;
 for($i=0; $i < 8; $i++) {
	 $password .= $CaracteresAceitos{mt_rand(0, $max)};
 }
echo "Nova Senha: ".$senha = $password;
echo "<br/>";
echo "Nova Senha Criptografada: ".$senha_criptografada = md5($password);
?>

 

Se o usuário tiver a opção de alterar senha depois de logado dessa forma é viável.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você pode gerar novamente a senha:

Faz um update no banco de dados da senha criptografada e encaminha a nova senha por e-mail.

 

É uma boa ideia tirando apenas uma coisa. Se alguem souber o seu e-mail, essa pessoa poderá solicitar uma nova senha, senha tal que será enviada para o seu e-mail. Imagina o encomodo, você entra no site para logar e a senha não é aceita. Quando você olha no teu e-mail, descobre que alguem solicitou uma nova senha.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Além da opção proposta pela Ely, onde uma senha aleatória é gerada, você pode permitir que o usuário altere a própria senha.

 

Após solicitado o reenvio da senha, você pode selecionar a própria senha em MD5 do e-mail/usuário que solicitou o lembrete e enviar para o e-mail associado à ele uma mensagem com um URL contendo dois parâmetros GET, por exemplo:

http://www.site.com/reminder.php?id=ID_DO_USER&hash=SENHA_EM_MD5
Daí, ao acessar esse link, você busca o campo da senha, do usuário vindo por em $_GET['id'] e compara o valor existente com esse $_GET['hash'].

 

Se for diferente, houve violação de um ou mais caracteres, tornando a recuperação impossível, já que poderia se caracterizar por uma pessoa mal intencionada querendo sacanear o usuário "chutando" um hash.

 

Se ela não tenha a senha original, não tem o hash, logo qualquer "chute" poderá ser inválido

 

Nota: "Poderá" porque seo cara acertar... pelo amor de Deus, né? Imagem Postada

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olha, se você quiser usar MD5 é uma escolha.

Realmente não tem como recuperar os dados do MD5 porque é um HASH como disseram

 

Agora se você quiser mais segurança que o MD5, recomendo usar uma chave AES que pode criptografar e descriptografar os dados

http://www.codigofonte.net/dicas/bancodedados/760_como-criptografar-dados-no-mysql

 

Eu deixaria de utilizar o MD5 se quisesse mais segurança por motivos como este:

http://www.md5decrypter.com/

 

Existe diversos projetos assim, na verdade são bancos de dados com listas e listas de MD5 gravadas.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olha, se você quiser usar MD5 é uma escolha.

Realmente não tem como recuperar os dados do MD5 porque é um HASH como disseram

 

Agora se você quiser mais segurança que o MD5, recomendo usar uma chave AES que pode criptografar e descriptografar os dados

http://www.codigofonte.net/dicas/bancodedados/760_como-criptografar-dados-no-mysql

 

Eu deixaria de utilizar o MD5 se quisesse mais segurança por motivos como este:

http://www.md5decrypter.com/

 

Existe diversos projetos assim, na verdade são bancos de dados com listas e listas de MD5 gravadas.

 

intao kiko mais o problema com criptografia de mão dupla é o seguinte, suponha que um usuario mau intensionado consigua pegar essa senha criptografada do banco de dados, usando um comando para decriptografa a chave ele vai recuperar a string original.

Compartilhar este post


Link para o post
Compartilhar em outros sites

aew pessoal agradeço pelas respostas, com criptografia de mão unica acredito que o sistema fica com mais segurança, entoa pensei em uma idéia que da certo. é o seguinte se o usuario perde a senha vou pedi que ele informe o email que esta cadastrado, ai vou mandar um email pra ele com um código de ativação, esse código sera gerado aleatório e sera gravado no banco de dados do usuario, quando ele digitar a nova senha o sistema irá pedir esse código e será comparado com o que esta armazenado no banco de dados só assim sera armazenado a nova senha!

 

vo fazer aqui, acredito que vai funcionar blzinha.

 

 

obrigado pelas resposta.

 

um abraço a todos.

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.