Skip to content

Latest commit

 

History

History
34 lines (23 loc) · 1.31 KB

File metadata and controls

34 lines (23 loc) · 1.31 KB

Encrypted PSR-6 cache pool

Latest Stable Version Coverage Software License

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.

Installation

composer require cache/encryption-cache:^2.0

Usage

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' => '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.

Contributing

Send pull requests to the main repository. Report issues on the GitHub issue tracker.