unsign
string public \Bitrix\Main\Security\Sign\TimeSigner::unsign( string $signedValue, string|null $salt = null );
Нестатический метод проверяет подпись и время жизни сообщения. Если оба параметра - OK, то возвращает оригинальное сообщение.
Параметры
| Параметр | Описание | Версия |
|---|---|---|
| $signedValue | Подписанное значение, должно быть в формате: {message}{separator}{expired timestamp}{separator}{signature}. | |
| $salt | Соль, если необходимо. |
Исключения
Примеры
$signer = new TimeSigner;
// Sing message for 1 second
$signedValue = $signer->sign('test', '+1 second');
// Or sign with expiring on some magic timestamp (e.g. 01.01.2030)
$signedValue = $signer->sign('test', 1893445200);
// Get original message with checking
echo $signer->unsign($signedValue);
// Output: 'test'
// Try to unsigning not signed value
echo $signer->unsign('test');
//throw BadSignatureException with message 'Separator not found in value'
// Or with invalid sign
echo $signer->unsign('test.invalid_sign');
// Or invalid salt
echo $signer->unsign($signedValue, 'invalid_salt');
//throw BadSignatureException with message 'Signature does not match'
// Or expired lifetime
echo $signer->unsign($signedValue);
//throw BadSignatureException with message 'Signature timestamp expired (1403039921 < 1403040024)'
© «Битрикс», 2001-2025, «1С-Битрикс», 2025