[Cascavel-pm] MD5 -> Fazer o Reverse

Ricardo Stock ricardostock em bol.com.br
Domingo Janeiro 31 18:05:59 PST 2010


Realmente eu vi lendo na internet que a criptografia deve ser um caminho só 
de ida, como o MD5 ou MD6 ou mesmo SHA1. Mas vi alguns sites que fazem isto, 
e gostaria de ver como funciona, um exemplo  http://md5.rednoize.com que 
achei muito interessante, Tambem percebi que a criptgrafia, pode te pregar 
uma peça, quando textos diferentes podem colidir com o mesmo hash, e em 
algusn sites que vi, o mesmo texto gera hash diferente. Mas fica uma 
pergunta.

Segue.
Usuário se registra na aplicação.
senha criptografada e inserida no banco.

Usuário se loga,
    recebe senha
    criptografa
    seleciona senha criptografada no banco
    ai,
    se senha_criptografada_recebida == senha_criptografada_banco {
        logado
        }

    senão {
    retorna
}

    Estas senhas ( hash criptografado) deveram ser tratadas como texto puro 
para comparação ? Haveria uma maneira melhor de fazer isto ? Qual a vantagem 
de criptografar, a nao ser manter ilegivel no banco.

    Hoje quando faço uma aplicação, faço assim, mas queria melhorar

    1 -Usuário se loga
    2 - Recebe user e senha
    3 - Grava cookie com user e senha no browser para expirar ao de 
desconectar ou fechar o navegador..
            (se nao grava cookie, não loga e retorna direto, se javascript 
desabilitado retorna direto, o que grava o cookie é a funcao cookie do CGI)
            (quando gravo o cookie, gravo nele uma idetificação gerada 
aleatoriamente, pelo perl usando data,hora,ip e a função rand e mantenho 
este dado em uma             tabela  temporaria para verificar se o cookie 
nao foi "plantado")

    4 - Redireciona para pagina de verificação
    5 - Recupera cookie com user e senha e grava em uma variavel
    6 - Recupera identificação.
    7 - Seleciona user e senha no banco
    ai
    8 - se senha_cookie e user_cookie == user_selecionado e 
senha_selecionado {
                    se (identificação_cookie==identificação_temporaria) {
                        logado
                }
    senao {
    retorna
}

O usuário só interage no item 1

Pergunto isto porque vejo muito sobre criptografia / session  e cookie. E 
queria a opnião de pessoas mais experientes sobre o assunto. estou fazendo 
correto, da para melhorar.. com certeza sempre tem uma forma diferente de 
ser fazer a mesma coisa em perl. e particularment eu tentei usar session, e 
apanhei um pouco. :-)

No Aguardo.

Atenciosamente
Ricardo Stock
ricardostock em bol.com.br




Mais detalhes sobre a lista de discussão Cascavel-pm