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.0use 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.
Send pull requests to the main repository. Report issues on the GitHub issue tracker.