CakePHP Logo

Usando bcrypt no CakePHP

Recentemente escrevi um pequeno artigo falando sobre as vantagens e utilização do bcrypt em projetos PHP.

E agora gostaria de mostrar pra vocês como é fácil hashear senhas usando o bcrypt dentro do CakePHP.

Versão 2.3+

O BlowfishAuthenticate é um “objeto” de autenticação que está disponível apenas a partir da versão 2.3 do CakePHP, que hoje (20/11) ainda está em desenvolvimento.

Habilitando e configurando o AuthComponent

A primeira coisa que você precisa fazer, é configurar o AuthComponent pra usar o seu model de usuários e o BlowfishAuthenticate (ao invés do FormAuthenticate):

Feito isso, o AuthComponent já vai hashaear a senha do usuário automáticamente usando bcrypt (baseado no algoritmo blowfish, por isso o nome).

Precisamos apenas mudar o nosso model de usuários para hashear a senha (também com bcrypt) antes de salvar a senha no banco:

E está tudo pronto! Seu mecanismo de login está pronto pra ser usado.. :)

Não se esqueça de definir o tipo do seu campo de senha como CHAR(60), pois esse é o tamanho do hash gerado pelo bcrypt.

5 ideias sobre “Usando bcrypt no CakePHP

  1. Anderson Michel

    Olá Thiago, tenho uma dúvida com o cakephp, será que você poderia me ajudar? Não consigo aumentar o tempo da sessão do meu login. Já alterei o padrão do timeout no arquivo core.php, coloquei um valor bem elevado. Mas se ficar um certo tempo inativo sou deslogado do meu painel. Como faço pra aumentar esse tempo?

  2. Wesley

    Cara, excelente post!
    A dica sobre o tamanho do campo da senha foi o que me salvou!
    Meu código estava igual aos tutoriais que encontrava por aí. Conseguia gravar o usuário mas não conseguia logar.
    Valew msm! :D

  3. Guilherme Macedo

    Parabéns Thiago, excelente tutorial! Eu tenho uma duvida, como poderia criar um sistema de back e front-end no cakephp? Com dominio.com/admin e etc.

Os comentários estão fechados.