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