perbility/bcrypt-bundle
A Symfony bundle that adds bcrypt password hashing to your application. It integrates with Symfony’s security component, supports configurable cost settings, and provides a straightforward way to secure user credentials with a modern, adaptable encoder.
password_hash() / password_verify() (PHP 5.5+) and by every modern framework's first-party hasher. The decision this supports is largely a negative one: do not add a dependency for a language primitive.Hash::make() / Hash::check() is first-party. The decision input is to standardize hashing at the platform layer so teams stop reaching for framework-specific micro-bundles.Consider it only in narrow, defensive situations:
Look elsewhere — or more likely use nothing — when:
symfony/security-bundle.Baseline criteria before any adoption: the EOL framework dependency is explicitly accepted and time-boxed, a named owner exists for security patches, hash-format compatibility with the stdlib is documented, and there is a written exit plan.
For executives: This is a small, unmaintained Symfony 2 plugin that wraps bcrypt password hashing — a capability PHP has shipped natively since 2015 and that both Symfony and Laravel now provide out of the box. It has no adoption, no dependents, and sits on a framework that stopped receiving security patches in 2018. My recommendation is not to adopt it: it adds supply-chain and maintenance risk in exchange for zero product capability. Its presence in our codebase should be read as a signal that an application needs a modernization and credential-migration plan.
For engineering:
password_hash(PASSWORD_BCRYPT) or the framework's hasher does the job, is maintained by the people who own PHP security, and removes a dependency.password_verify(), then move to rehash-on-login with argon2id (or bcrypt at cost ≥ 10 where argon2 isn't available), and delete the bundle once the last legacy hash is rotated.Ask: approval to (1) reject adoption, (2) log the bundle's presence as technical debt with an owner and target date, and (3) standardize on the platform-native hasher so this question doesn't recur per team.
How can I help you explore Laravel packages today?