This repository has been archived on 2023-08-20. You can view files and clone it, but cannot push or open issues or pull requests.
symfony/src/Symfony/Component/Cache
Fabien Potencier 117d83bd95 minor #18085 [Cache] Hash using B64+MD5 in FilesystemAdapter (nicolas-grekas)
This PR was merged into the 3.1-dev branch.

Discussion
----------

[Cache] Hash using B64+MD5 in FilesystemAdapter

| Q             | A
| ------------- | ---
| Branch        | master
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | no
| Fixed tickets | -
| License       | MIT
| Doc PR        | -

Using MD5+B64 is good enough to avoid any hash collision, even on case-insensitive filesystems.
On Windows where the total path length is limited, this saves 44 chars worth.
Even if collisions are extremely unlikely, they are detected by adding then comparing the raw key to saved payloads. This also has the added benefit of easing debugging/grepping the cached items on the filesystem.

Commits
-------

e96bb10 [Cache] Hash using B64+MD5 in FilesystemAdapter
2016-03-10 17:37:34 +01:00
..
Adapter minor #18085 [Cache] Hash using B64+MD5 in FilesystemAdapter (nicolas-grekas) 2016-03-10 17:37:34 +01:00
Exception [Cache] Symfony PSR-6 implementation 2016-01-19 08:02:17 +01:00
Tests/Adapter [Cache] Add namespace handling to all adapters 2016-03-10 10:26:34 +01:00
.gitignore [Cache] Symfony PSR-6 implementation 2016-01-19 08:02:17 +01:00
CacheItem.php [Cache] Fix expiries handling 2016-02-08 08:22:02 +01:00
composer.json [Cache] Handle and log errors properly 2016-01-25 20:18:55 +01:00
LICENSE [Cache] Symfony PSR-6 implementation 2016-01-19 08:02:17 +01:00
phpunit.xml.dist [Cache] Symfony PSR-6 implementation 2016-01-19 08:02:17 +01:00
README.md [Cache] Symfony PSR-6 implementation 2016-01-19 08:02:17 +01:00

Symfony PSR-6 implementation for caching

This component provides a strict PSR-6 implementation for adding cache to your applications. It is designed to have a low overhead so that caching is fastest. It ships with a few caching adapters for the most widespread and suited to caching backends. It also provides a doctrine/cache proxy adapter to cover more advanced caching needs and a proxy adapter for greater interoperability between PSR-6 implementations.