Ativar suporte a hash baseado em blowfish para cripta

13

Como faço para ativar o suporte a crypt_blowfish para senhas sombreadas e PHP em um servidor Linux (Debian)?

Estou me referindo ao bcrypt baseado no Blowfish no estilo OpenBSD , conhecido no PHP como CRYPT_BLOWFISH.

Até onde eu sei, não existe nenhum pacote Debian para ele, que outras opções eu tenho para habilitar este algoritmo hash para PHP?

Nota:
A interface crypt () do PHP se relaciona diretamente com o Função C-library crypt (3) fornecida pelo sistema operacional subjacente.

Atualizar
A nomenclatura de pacotes não é tão clara quanto poderia (deveria) ser.
O pacote PEAR Crypt_Blowfish é um substituto fácil para a extensão MCrypt do PHP, permitindo uma rápida bidirecional

Além disso, o pacote Debian BCrypt também é uma implementação do algoritmo blowfish bidirecional 'normal'.

O que estou procurando é a implementação Bcrypt-hash para hashing de senhas.

    
por Jacco 21.05.2009 / 00:24

1 resposta

9

O pacote que você precisa instalar no debian é libpam-unix2 .

Em seguida, você terá que editar os seguintes arquivos em /etc/pam.d/ e alterar todo o uso de pam_unix.so para pam_unix2.so :

  • conta comum
  • common-auth
  • senha comum
  • sessão comum

Por fim, edite o arquivo common-password e substitua o parâmetro "md5" por "blowfish".

As senhas atualizadas após a realização dessas modificações serão codificadas usando o blowfish. As senhas shadow existentes não são modificadas. Fonte

Para usar o blowfish no PHP, você fornece um sal blowfish para crypt() . Assim:

crypt('sting', '$2a$07$' . substr('saltsaltsalt', 0, CRYPT_SALT_LENGTH) ) 

Você deve primeiro verificar se CRYPT_BLOWFISH == 1. E você precisará usar um sal longo o suficiente, que é igual a (ou maior que) 22 caracteres. Fonte

    
por 24.05.2009 / 01:16