Forum Pplware

Versão Completa: Encriptação MD5
Está de momento a ver uma versão reduzida do nosso conteúdo. Ver versão completa com o formato adequado.
Tenho um formulário de recuperação de senhas, que envia um e-mail com os dados da conta do usuário, mais a senha é enviada como MD5, como faço pra enviar a senha não encriptada em MD5 ?
1. MD5 já não é considerado seguro para encriptação. Deverá ser usado SHA-2, pelo menos.
2. MD5 e SHA são encriptações one-way, ou seja, irreversíveis, pois não consegues saber o que lá está (daí ser uma encriptação segura).
3. O que tu deves querer fazer será gerar uma nova password, enviá-la não encriptada, encriptá-la e actualizar na BD (ou onde quer que esteja a ser guardada).
Como disse o Bruno usa o SHA-2 (SHA128, SHA256 ou SHA512).

Para recuperação da password é simples, uma vez que a password está encriptada de forma irreversível, o sistema não tem como enviar a password para o utilizador, então o que fazes:

1: Crias uma página destinada à recuperação / alteração da password.
2: Crias um token de segurança para garantir que aquela alteração / recuperação só é feita uma vez por sessão, uma vez alterada a password, o token deve morrer, como disse, aquele token só pode ser usado uma vez por sessão e que também só podem aceder à página de recuperação da password se existir um token de segurança válido.
3: Crias um formulário próprio para enviar o email com o link de recuperação (Ex.: meusite.com/recuperacao.php?sec=000000000000000000000000000000).

Todos os sites que enviam a password verdadeira do utilizador, é porque para além de terem na BD a password encriptada eles guardam a password sem estar encriptada, isto é uma falha de segurança muito grave.
Nunca se deve guardar passwords sem estarem encriptadas.


O token de segurança é muito simples de se fazer, basta que cries uma função para criar o token baseado em alguma coisa (Podes usar o SHA-1 ou SHA-2), e logo depois da password ser alterada / recuperada, teres outra função para matar o token.
No momento que o token é criado, tem de ser guardado na BD, para depois ser validado.


Espero ter ajudado.
URL's de Referência