This package encrypts values stored through a taggable PSR-6 cache pool. Encryption adds CPU and storage overhead, so use it only when cached values need protection at rest.
composer require cache/encryption-cache:^2.1
use Cache\Adapter\PHPArray\ArrayCachePool; use Cache\Encryption\EncryptedCachePool; use Defuse\Crypto\Key; $key = Key::createNewRandomKey(); $pool = new EncryptedCachePool(new ArrayCachePool(), $key); $item = $pool->getItem('account.42'); $item->set(['email' => '[email protected]']); $pool->save($item);
The wrapped pool must implement TaggableCacheItemPoolInterface. Persist the encryption key outside the cache and load the same key for every request.
Version 2.1 supports cache/adapter-common 2 and 3. Follow the wrapped adapter's upgrade steps before deploying or rolling back.
Send pull requests to the main repository. Report issues on the GitHub issue tracker.