Como habilito o suporte ao 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 há pacote Debian para ele, que outras opções eu tenho para habilitar esse algoritmo de hash para PHP?
Nota:
A função crypt () do PHP interage de maneira relativamente direta com a função crypt (3) da biblioteca C fornecida pelo sistema operacional subjacente.
Atualizar
A nomeação de pacotes não é tão clara quanto poderia (deveria) ser.
O pacote PEAR Crypt_Blowfish é um substituto para a extensão MCrypt do PHP, permitindo a rápida criptografia bidirecional de blowfish.
Além disso, o pacote Debian BCrypt também é uma implementação do algoritmo blowfish bidirecional 'normal'.
O que estou procurando é a implementação de Bcrypt-hash para senhas de hash.
Respostas:
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 opam_unix.so
uso parapam_unix2.so
:Por fim, edite o
common-password
arquivo e substitua o parâmetro "md5" por "blowfish".As senhas que são atualizadas depois que essas modificações são feitas serão hash usando blowfish. As senhas de sombra existentes não são modificadas. Fonte
Para usar blowfish no PHP, você fornece um sal de blowfish para
crypt()
. Como isso:Você deve primeiro verificar se CRYPT_BLOWFISH == 1. E você precisará usar um sal suficientemente longo, que seja igual a (ou maior que) 22 caracteres. Fonte
fonte
passwd
não solicita a senha antiga ao executar a partir do root. Importante: mantenha sua sessão raiz aberta até ter certeza de que pode fazer login novamente!