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