[Cascavel-pm] MD5 -> Fazer o Reverse

Alexei Znamensky russoz em gmail.com
Segunda Fevereiro 1 02:17:04 PST 2010


Blabos,

2010/1/31 Blabos de Blebe <blabos em gmail.com>
[...]

>
> b) Fale do problema que você está tentando resolver.
>

Na verdade ele já falou. Veja:

[...]

> >
> >   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.
>

Ricardo, use as palavras corretas para as coisas: hash não é criptografia,
então quando você diz "hash criptografado", os trolls da lista ficam
nervosos e com vontade de bater em você. As respostas são, na ordem:

Sim, como texto puro.
Não que eu saiba.
(vantagem de fazer hash, não criptografar): nenhuma, mas essa vantagem é
muito importante.

 >
> >   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")
>

Por favor me diga que eu li errado e que você não está transmitindo a senha
do usuário, em cleartext, de volta, pelo cookie.


>  >
> >   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. :-)
>

A melhor forma é fazer assim: quando neguinho se loga, você pega essas
informações tipo user, ip, data, hora (Não é preciso, nem recomendável
colocar a senha aqui), e gera um hash desse bolôlô todo. Esse hash, junto
com essas informações, você guarda, temporariamente, numa tabela de dados,
coloca um timestamp e a cada minuto você percorre a tabela e remove os caras
que ficaram velhos demais (tipo, mais que 30 minutos, ou mais que 5,
dependendo de quanto é o timeout de sessão da sua aplicação). Esse hash você
manda no cookie de volta. Toda vez que o neguinho mandar requisição, se ele
tiver o cookie com o hash, você faz o teste pra ver se é um hash que existe
de fato na sua tabela. Se não existir, é fake - chuta o cara até cuspir
sangue no chão. Se existir, você atualiza o timestamp na tabela e segue a
vida.


[]s,
-- 
Alexei Znamensky [russoz_gmail_com] [russoz.wordpress.com] [
www.flickr.com/photos/alexeiz]
"Though we live in trying times, we're the ones who have to try"
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://mail.pm.org/pipermail/cascavel-pm/attachments/20100201/005f3f7b/attachment.html>


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