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

-
Mercy_PT
- Membro Vitalício

-
- Mensagens: 2338
- Registado: Terça Set 14, 2004 14:33
por 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

-
- Mensagens: 70
- Registado: Quarta Abr 20, 2005 13:11
por 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

-
- Mensagens: 673
- Registado: Terça Out 05, 2004 21:07
por 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
-

pissos13
- Membro de Ouro

-
- Mensagens: 584
- Registado: Terça Nov 02, 2004 22:27
- Localização: Algures num PC
por 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

-
- Mensagens: 70
- Registado: Quarta Abr 20, 2005 13:11
por 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...

-
Mercy_PT
- Membro Vitalício

-
- Mensagens: 2338
- Registado: Terça Set 14, 2004 14:33
por 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

-
- Mensagens: 70
- Registado: Quarta Abr 20, 2005 13:11
por Mercy_PT » Quinta Abr 21, 2005 11:59
Problem solved. Thanks pelas dicas.
Cruising life......in low speed...

-
Mercy_PT
- Membro Vitalício

-
- Mensagens: 2338
- Registado: Terça Set 14, 2004 14:33
por 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
-

pissos13
- Membro de Ouro

-
- Mensagens: 584
- Registado: Terça Nov 02, 2004 22:27
- Localização: Algures num PC
por 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

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