69 lines
1.9 KiB
ReStructuredText
69 lines
1.9 KiB
ReStructuredText
.. include:: /Includes.rst.txt
|
|
|
|
.. _deprecation-102763-1706358913:
|
|
|
|
==========================================
|
|
Deprecation: #102763 - Extbase HashService
|
|
==========================================
|
|
|
|
See :issue:`102763`
|
|
|
|
Description
|
|
===========
|
|
|
|
Internal class :php:`\TYPO3\CMS\Extbase\Security\Cryptography\HashService`
|
|
is deprecated in favor of :php:`\TYPO3\CMS\Core\Crypto\HashService`,
|
|
which requires an additional secret to prevent re-using generated hashes in
|
|
different contexts.
|
|
|
|
|
|
Impact
|
|
======
|
|
|
|
Using class :php:`\TYPO3\CMS\Extbase\Security\Cryptography\HashService` will
|
|
trigger a PHP deprecation warning.
|
|
|
|
|
|
Affected installations
|
|
======================
|
|
|
|
TYPO3 installations with custom extensions using
|
|
:php:`\TYPO3\CMS\Extbase\Security\Cryptography\HashService`.
|
|
|
|
|
|
Migration
|
|
=========
|
|
|
|
Class :php:`\TYPO3\CMS\Core\Crypto\HashService` must be used to migrate.
|
|
|
|
Before
|
|
------
|
|
|
|
.. code-block:: php
|
|
|
|
$hashService = new \TYPO3\CMS\Extbase\Security\Cryptography\HashService();
|
|
|
|
$generatedHash = $hashService->generateHmac('123');
|
|
$isValidHash = $hashService->validateHmac('123', $generatedHash);
|
|
|
|
$stringWithAppendedHash = $hashService->appendHmac('123');
|
|
$validatedStringWithHashRemoved = $hashService->validateAndStripHmac($stringWithAppendedHash);
|
|
|
|
After
|
|
-----
|
|
|
|
.. code-block:: php
|
|
|
|
$hashService = new \TYPO3\CMS\Core\Crypto\HashService();
|
|
|
|
$generatedHash = $hashService->hmac('123', 'myAdditionalSecret');
|
|
$isValidHash = $hashService->validateHmac('123', 'myAdditionalSecret', $generatedHash);
|
|
|
|
$stringWithAppendedHash = $hashService->appendHmac('123', 'myAdditionalSecret');
|
|
$validatedStringWithHashRemoved = $hashService->validateAndStripHmac($stringWithAppendedHash, 'myAdditionalSecret');
|
|
|
|
Note, :php:`$additionalSecret` string must be unique per
|
|
context, so hashes for the same input are different depending on scope.
|
|
|
|
.. index:: PHP-API, FullyScanned, ext:extbase
|