Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

joao.palma

Encriptar password

Mensagens Recomendadas

joao.palma

Bom dia,

Pessoal, Estou a iniciar-me no desenvolvimento web mais concretamente em php e JS.... Neste momento estava a fazer um login em que a validação do login é em JS... A questão é a seguinte qual a melhor forma de encriptar a password e como fazer? eu queria encriptar a password no lado do cliente e depois o servidor só pegava nela e registava na BD. E quando fosse para comparar o cliente encriptava a password enviava para o servidor e o servidor comparava as duas passwords encriptadas. Alguem pode ajudar?

Obrigado

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Pedro098

Se tiveres um sistema de registo, quando um utilizador se regista este código encripta a sua password e envia-a para a base de dados.

$pwd= md5($_POST['password']);

Editado por thoga31
Tags code + GeSHi

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
HappyHippyHippo

eu queria encriptar a password no lado do cliente e depois o servidor só pegava nela e registava na BD. E quando fosse para comparar o cliente encriptava a password enviava para o servidor e o servidor comparava as duas passwords encriptadas. Alguem pode ajudar?

o que dizes esta errado e vamos ver qual é o problema.

se formos pensar numa chave de acesso e a razão de a encriptar, podemos assumir que o problema não está em "quem escreve a chave de acesso", mas sim em "quem está a ouvir o que estou a falar para o servidor"

o que quero dizer é, não importa se o terceiro sabe a chave de acesso ou não, o que te interessa é que ele não consiga de alguma forma se fazer passar como uma pessoa autorizada.

isto tudo trocado por miúdos que dizer que o processo de encriptação é para esconder um texto aberto, mas uma pessoa que esteva a "ouvir" a rede pode muito bem retirar o texto encriptado que (no processo que descreves acima) é a mesma coisa.

vou dar um exemplo claro:

uma pessoa escreve a sua password e a envia para o servidor em texto aberto (vamos supor que é "abc").

o problema aqui é que se a pessoa maliciosa estiver a "ouvir" a rede, lê o texto e vai ao site e autenticasse indevidamente.

tu como developer, sabes que isto é mau e então implementas o processo que descreves acima.

um utilizador normal agora escreve no browser a sua password, tu encriptas de alguma forma a password e envias para o servidor para autenticação.

o que a pessoa maliciosa vê agora é um texto sem sentido que nada lhe ajuda a determinar o que tem de escrever no browser.

no entanto, se ele for uma pessoa já experiente, pode fazer duas coisas:

- vai ao código de javascript e vê qual o processo de encriptação que usas e faz "reverse engineering" da encriptação e descobre a password original, o que pode levar muito tempo dependendo do tipo de encriptação

- ou se for realmente uma pessoa que sabe o que faz (tem dois dedos de testa), simplesmente envia um pedido de autenticação em que a password e o texto sem sentido que "ouviu" anteriormente. isto porque esse texto irá ser autenticado no servidor, e assim subverter completamente o processo de encriptação.

assim sendo, podes ver a razão que disse que o método apresentado inicialmente, para uma pessoa que sabe o que quer fazer, é como nada se fosse.

o que se faz actualmente:

- usas SSL (Secure Socket Layer) que cria um "pipe" de informação toda ela encriptada com métodos matemáticamente seguros para os computadores de hoje em dia, o que não só torna impraticável decriptar o que se "ouve" na rede, assim como torna impossível saber onde "ouvir"

- ou se não queres estar a pagar, existe um método que ajuda imenso chamada de Challenge-Handshake Authentication

peço desculpa não estar aqui a desenvolver como é que este último processo funciona, por várias razões:

- a resposta já vai comprida

- a informação está na net, agora já sabes o que procurar

- é o que tenho vindo a usar (com ou sem SSL) e estar a dizer como eu faço, seria estar dar a chave dos ossos do ofício ;)

  • Voto 1

IRC : sim, é algo que ainda existe >> #p@p

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.