WordPress 6.8 vai usar bcrypt por defeito: o que fazer com o wp-password-bcrypt (Roots)
A autenticação no WordPress sempre foi um tema sensível, sobretudo quando olhamos para a evolução dos algoritmos de hashing e para o ritmo a que o core adota melhorias estruturais. A novidade é que, com o WordPress 6.8, o projeto passa a usar bcrypt como método padrão de hashing de passwords — uma mudança anunciada pela equipa de Core e que tem impacto direto em stacks modernas baseadas em Composer.
Na prática, isto torna obsoleto um velho conhecido de quem trabalha com Roots/Bedrock: o pacote wp-password-bcrypt, criado para trazer bcrypt para o ecossistema WordPress antes de o core o suportar nativamente.
Contexto rápido: o que é bcrypt e porque interessa no WordPress
bcrypt é um algoritmo de hashing pensado para passwords. Ao contrário de hashes rápidos (que são ótimos para integridade, mas péssimos para passwords), o bcrypt é intencionalmente mais “caro” computacionalmente, o que ajuda a reduzir a eficácia de ataques de força bruta e cracking offline caso uma base de dados seja comprometida.
No WordPress, o hashing de passwords acontece no fluxo de autenticação e no momento em que o utilizador define/atualiza a password. Ter bcrypt no core significa um salto relevante de segurança sem depender de plugins ou mu-plugins externos.
O que muda com o WordPress 6.8
Segundo o anúncio do Core, o WordPress 6.8 vai usar bcrypt para hashing de passwords. Podes ver a comunicação oficial aqui: WordPress 6.8 will use bcrypt for password hashing.
Do ponto de vista de quem mantém projetos, o efeito imediato é simples: o core passa a resolver nativamente aquilo que muitos projetos resolviam via pacote.
Então e o wp-password-bcrypt? (Spoiler: vai ser descontinuado)
A Roots anunciou que, com o WordPress 6.8, o wp-password-bcrypt deixa de ser necessário para sites que corram 6.8+ e vai entrar em modo de sunset. O racional é direto: se o WordPress já faz isto no core, manter um pacote para “forçar” bcrypt passa a ser redundante e até pode complicar troubleshooting.
O que significa “não preciso mais” em termos práticos
- Se o teu site está em WordPress 6.8 ou superior, podes remover o
wp-password-bcrypt. - As passwords existentes continuam a funcionar — não é suposto precisares de um processo de migração manual.
- O core do WordPress passa a tratar a autenticação com bcrypt “onde aplicável”, de forma transparente.
Nota importante para equipas
Isto é especialmente relevante em projetos com dependências geridas por Composer (ex.: Bedrock), onde é comum ter o wp-password-bcrypt explícito no composer.json.
O plano da Roots para o pacote
- Marcar o
wp-password-bcryptcomo abandoned no Packagist. - Remover referências ao pacote do Bedrock e da documentação relacionada.
- Arquivar o repositório no GitHub.
Como atualizar projetos Bedrock/Composer com segurança
Se manténs vários sites, a parte mais chata costuma ser garantir consistência entre ambientes (local/staging/prod). O caminho mais seguro é tratar isto como uma alteração normal de dependência: primeiro garantir que o WordPress está (ou vai estar) em 6.8+, depois remover o pacote.
1) Confirma a versão alvo do WordPress
Garante que o projeto vai correr WordPress 6.8 ou superior. Em stacks com Bedrock, isso normalmente passa por ajustar a dependência do johnpbloch/wordpress (ou equivalente, dependendo do teu setup) e validar em staging.
2) Remove o pacote do Composer
Se o wp-password-bcrypt estiver listado nas dependências, remove-o e atualiza o lockfile. O objetivo é não carregar código redundante e evitar estados ambíguos no pipeline.
composer remove roots/wp-password-bcrypt3) Valida o fluxo de login e reset de password
Depois do deploy em staging, valida o essencial: login com utilizadores existentes, reset de password e criação/alteração de passwords. A promessa aqui (tanto do Core como do anúncio da Roots) é que não há migração manual e que o WordPress faz a transição de forma transparente.
Se não vais para WordPress 6.8 ainda
Se estás preso numa versão anterior por compatibilidade, o wp-password-bcrypt pode continuar a fazer sentido até conseguires atualizar. O ponto do sunset é que, a partir de 6.8, ele deixa de ser necessário.
Porque esta mudança é relevante (mesmo para quem não usa Roots)
O impacto vai além do Bedrock: quando o core melhora a base de segurança, a melhoria torna-se padrão para todos — sites clássicos, instalações geridas por painéis, infra mais “enterprise”, etc. E, talvez mais importante, reduz-se a necessidade de manter extensões só para corrigir limitações históricas.
O wp-password-bcrypt nasceu exatamente nesse contexto: preencher uma lacuna antes de o WordPress ter hashing forte de raiz. Com bcrypt nativo no 6.8, o ecossistema fica mais simples e previsível.
Resumo do que fazer
- Atualiza (ou planeia atualizar) o site para WordPress 6.8+.
- Remove
roots/wp-password-bcryptdo projeto (se estiver em uso). - Testa login e reset de password em staging antes de promover para produção.
- Toma nota que o pacote vai ser marcado como abandoned e o repositório arquivado.
Hannah Turing
Desenvolvedora WordPress e redatora técnica na HelloWP. Ajudo desenvolvedores a criar melhores sites com ferramentas modernas como Laravel, Tailwind CSS e o ecossistema WordPress. Apaixonada por código limpo e experiência do desenvolvedor.
Todos os posts