Encriptar Password de User

PHP, Java, JavaScript, XML, XHTML, HTML, CSS, ASP, Delphi, Assembly, LaTeX, C, UML, Flash, Perl, SQL, Python, Zope, Pascal, WML. Se conhece mais de 3 siglas referidas, este é o forum para si.

Moderadores: Administradores, Moderadores

Encriptar Password de User

Mensagempor Mercy_PT » Quarta Abr 20, 2005 11:38

Boas,

Ora bem tenho um programa que usa login de users no arranque, e tem os dado guardados numa BD de SQL Server, isto ta a usar um algoritmo de encriptação de password que basicamente consiste em "deslocar" cada caracter X caracteres à frente. Pretendo trocar isto por algo mais complexo e eficaz.

Alguem tem alguma sugestão. De preferencia que seja reversivel pois preciso que o user continue a fazer login no programa.

não interessa a linguagem, so o algoritmo da sugestão.


Thanks, in advance.
Cruising life......in low speed...
Imagem
Mercy_PT
Membro Vitalício
Membro Vitalício
 
Mensagens: 2338
Registado: Terça Set 14, 2004 14:33

Mensagempor Baía » Quarta Abr 20, 2005 13:31

MD5 Hash... dos mais conhecidos!
A função é é irreversível... podem existir vários objectos com a mesma imagem!
Mas não percebi pq é que querias reversível... pois tu guardas:
MD5(password_na_BD) na BD
Dps numa form apanhas a password_do_user
Aplicas o algoritmo de hashing ficando com MD5(password_do_user)
E dps comparas MD5(password_na_BD) == MD5(password_do_user)
Se for igual... segue para bingo e faz login!

É claro que, dado que a função é não injectiva, pode haver mais que uma password que gere o mesmo MD5 Hash... e isso permitir o login... mas isso é muuuuuuuuuuuuuuuito pouco provável de acontecer!
Editado pela última vez por Baía em Quarta Abr 20, 2005 14:10, num total de 1 vez.
Baía
Aprendiz
Aprendiz
 
Mensagens: 70
Registado: Quarta Abr 20, 2005 13:11

Re: Encriptar Password de User

Mensagempor xirix » Quarta Abr 20, 2005 13:40

Mercy_PT Escreveu:Boas,

Ora bem tenho um programa que usa login de users no arranque, e tem os dado guardados numa BD de SQL Server, isto ta a usar um algoritmo de encriptação de password que basicamente consiste em "deslocar" cada caracter X caracteres à frente. Pretendo trocar isto por algo mais complexo e eficaz.

Alguem tem alguma sugestão. De preferencia que seja reversivel pois preciso que o user continue a fazer login no programa.

não interessa a linguagem, so o algoritmo da sugestão.


Thanks, in advance.


Se não precisares de recuperar as passes (tipo para mostrar a pass esquecida) podes em vez de guardar a pass na BD, guardar o Hash dela. Assim quando fores fazer o login, é só comparar os hashes.

Se precisares de recuperar a pass, tens vários algoritmos de encriptação. De acordo com a linguagem que estiveres a usar, é possivél que já tenhas "libs" com isso implementado.

Abraços
X|r|X
=================
Não subscrevam a VIANETWORKS, TVTel ADSL, ASDL.XL, CyclopNet. A VIA aldraba todos os seus clientes iludindo-os c/ velocidades q nunca tem na realidade. Uma ligação 1024/256 (128kB/32kB) na prática é de 6kB/4kB c/ o emule.
xirix
Membro de Ouro
Membro de Ouro
 
Mensagens: 673
Registado: Terça Out 05, 2004 21:07

Mensagempor pissos13 » Quinta Abr 21, 2005 7:59

isso do p recuperar password é relativo, se encriptares em MD5 quando alguem perde a password a coisa que tens a fazer é mandar uma nova aleatoria, e encriptares essa na bd, qt a 2 objectos darem a mm hash, a probabilidade de isso acontecer é minima. de qq maneira ja ha programas que pegando numa hash, descodificam a password na boa. penso que num computador razoavel, uma hash d uma password até 7 caracteres cracka-s em menos de 1 dia...
Não preciso de assinatura!
Ass. Pissos13
Avatar do Utilizador
pissos13
Membro de Ouro
Membro de Ouro
 
Mensagens: 584
Registado: Terça Nov 02, 2004 22:27
Localização: Algures num PC

Mensagempor Baía » Quinta Abr 21, 2005 8:10

pissos13 Escreveu:de qq maneira ja ha programas que pegando numa hash, descodificam a password na boa.


Que programas são esses? estive a procurar no google assim de repente... não consegui encontrar nada... :(

Se a função é irreversível não sei como é que isso é possível...
Tendo ainda em conta que a função não é injectiva e que a mais que um objecto correspondem imagens idênticas, isso torna a coisa ainda mais difícil, senão impossível!

Qto muito pegas num dicionário e começas a aplicar-lhe a função de digesting (hash) até obteres um resultado igual ao da password armazenada... mas isso é muito pouco prático!
Baía
Aprendiz
Aprendiz
 
Mensagens: 70
Registado: Quarta Abr 20, 2005 13:11

Mensagempor Mercy_PT » Quinta Abr 21, 2005 9:03

Bem, conclui que a parte do ser reversivel (ou seja descodificar a pass e apresentar ao user) é irrelevante. No entanto pelo que aqui se fala o algoritmo de hash nao garante a mesma chave como resultado a codificação duma mesma password.

Andei a ver uns algoritmos de md5 e blowfish mas tava a pensar talvez em algo mais simples.
Cruising life......in low speed...
Imagem
Mercy_PT
Membro Vitalício
Membro Vitalício
 
Mensagens: 2338
Registado: Terça Set 14, 2004 14:33

Mensagempor Baía » Quinta Abr 21, 2005 10:50

bem... n percebi bem a tua dúvida... mas

o MD5 de uma password por exemplo: feijoes
tem sempre o mesmo resultado... independentemente da linguagem que uses, do sistema operativo, do processador, etc etc...

Se quiseres um algorimo simples... podes ser tu a fazê-lo...
Um exemplo... uma função de hash que some o código ASCII de todos os caracteres de uma password...

pronto...
Baía
Aprendiz
Aprendiz
 
Mensagens: 70
Registado: Quarta Abr 20, 2005 13:11

Mensagempor Mercy_PT » Quinta Abr 21, 2005 11:59

Problem solved. Thanks pelas dicas.
Cruising life......in low speed...
Imagem
Mercy_PT
Membro Vitalício
Membro Vitalício
 
Mensagens: 2338
Registado: Terça Set 14, 2004 14:33

Mensagempor pissos13 » Sexta Abr 22, 2005 8:22

Baía Escreveu:
pissos13 Escreveu:de qq maneira ja ha programas que pegando numa hash, descodificam a password na boa.


Que programas são esses? estive a procurar no google assim de repente... não consegui encontrar nada... :(

Se a função é irreversível não sei como é que isso é possível...
Tendo ainda em conta que a função não é injectiva e que a mais que um objecto correspondem imagens idênticas, isso torna a coisa ainda mais difícil, senão impossível!

Qto muito pegas num dicionário e começas a aplicar-lhe a função de digesting (hash) até obteres um resultado igual ao da password armazenada... mas isso é muito pouco prático!


eu tenho em casa o programa, depois digo-t qual é, mm assim eu sabendo a hash d uma password crackei akilo em pouco tempo, mas é como eu digo apartir d 8 caracteres já é mt dificil, até 7 é facil, akilo usa é force brute...
Não preciso de assinatura!
Ass. Pissos13
Avatar do Utilizador
pissos13
Membro de Ouro
Membro de Ouro
 
Mensagens: 584
Registado: Terça Nov 02, 2004 22:27
Localização: Algures num PC

Mensagempor Baía » Sexta Abr 22, 2005 9:15

pissos13 Escreveu:
Baía Escreveu:
pissos13 Escreveu:de qq maneira ja ha programas que pegando numa hash, descodificam a password na boa.


Que programas são esses? estive a procurar no google assim de repente... não consegui encontrar nada... :(

Se a função é irreversível não sei como é que isso é possível...
Tendo ainda em conta que a função não é injectiva e que a mais que um objecto correspondem imagens idênticas, isso torna a coisa ainda mais difícil, senão impossível!

Qto muito pegas num dicionário e começas a aplicar-lhe a função de digesting (hash) até obteres um resultado igual ao da password armazenada... mas isso é muito pouco prático!


eu tenho em casa o programa, depois digo-t qual é, mm assim eu sabendo a hash d uma password crackei akilo em pouco tempo, mas é como eu digo apartir d 8 caracteres já é mt dificil, até 7 é facil, akilo usa é force brute...


pois... só podia ser mesmo por brute force...
Baía
Aprendiz
Aprendiz
 
Mensagens: 70
Registado: Quarta Abr 20, 2005 13:11


Voltar para Programação

Quem está ligado:

Utilizadores a ver este Fórum: Nenhum utilizador registado e 2 visitantes

cron