indigophp/hash-compat
Provides a hash_equals() polyfill for PHP versions older than 5.6, where the native timing-attack-safe string comparison function isn't available. A small compatibility shim for legacy projects.
Architecture fit
files autoload shim.hash_pbkdf2), so its fit is entirely a function of one question: does the estate still contain PHP 5.3–5.5 runtimes? If not, it is dead weight.hash_equals) or PBKDF2.Integration feasibility
function_exists. In practice, the package is unmaintained and the repository is not resolvable from the metadata, so there is no visible source, CI, or commit history to review before adopting.Technical risk
hash_equals and hash_pbkdf2 implementations must be constant-time and spec-correct. A naive PHP implementation can introduce a timing side-channel while appearing to fix one — the worst possible outcome for a security-motivated dependency.Key questions
hash_equals only, or hash_pbkdf2 as well? The answer may narrow the solution to a maintained polyfill.polyfill-php56 (maintained, widely audited) or paragonie/random_compat instead of an archived single-purpose package?Stack fit
Migration path
hash_equals is native and this dependency is deleted outright — zero code change.symfony/polyfill-php56) rather than this package; it covers the same gap with an active security process.Compatibility
hash_equals/hash_pbkdf2. Resolve by loading this one first or removing the duplicate.Sequencing
Maintenance
Support
Scaling
hash_equals cost is negligible at any realistic volume.Failure modes
Ramp-up
TPM recommendation: do not adopt as a new dependency. Its score, archive status, and unresolvable source are disqualifying for cryptographic code. Where the function gap is real and the PHP upgrade is blocked, use a maintained polyfill; where it is not, delete the requirement and spend the effort on the runtime upgrade.
How can I help you explore Laravel packages today?