dsbaars/chacha20
Pure PHP implementation of the ChaCha20 encryption algorithm, built for high performance relative to PHP. Supports streaming via persistent context objects and keystream seeking with setCounter. A fork of leigh/chacha20.
Crypt with AES-256-GCM) or PHP’s sodium/OpenSSL extensions. Given this package is raw ChaCha20 only, with no AEAD, no Laravel integration, 1 star, 0 dependents, and “readme” maturity, the default product decision should be: do not make it a production security dependency without a specific protocol reason.sodium_crypto_aead_chacha20poly1305_* or another maintained implementation if requirements change.sodium/OpenSSL cannot be used or must be avoided; throughput is low; engineering will own the crypto integration; authentication (e.g., HMAC or Poly1305) and nonce/counter management are added separately; and a security review is planned.setCounter seek behavior and context state are genuinely useful, but only with an authenticated envelope and clear recovery semantics.sodium extension rather than raw ChaCha20.For executives: This is not a strategic dependency or a turnkey Laravel security package. It is a small, pure-PHP ChaCha20 implementation that may help with narrow protocol-compatibility or testing needs, but it is a weak default for production encryption because it provides raw ChaCha20 without authentication, performs far below native crypto, and has very low adoption. Recommend keeping Laravel’s native encryption or libsodium as the standard and requiring a clear business reason before adopting this.
For engineering: Treat it as a low-level component, not a Laravel integration. If used, isolate it behind an interface, add authentication, enforce nonce uniqueness and counter discipline, benchmark against sodium, pin the dependency, and validate with known test vectors. Do not expose raw ChaCha20 directly to product features, and plan an exit path to sodium_crypto_aead_chacha20poly1305_* or another maintained implementation.
How can I help you explore Laravel packages today?