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.1use 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' => 'user@example.com']);
$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.