# TimeSigner::unsign()

URL: https://chugunov.pro/api-bitrix/main/security/sign/timesigner/unsign/
Проверено на 1С-Битрикс 25.x, обновлено 03.08.2026.
Источник: независимый русскоязычный справочник chugunov.pro. Не является официальной документацией 1С-Битрикс.

Класс: [`\Bitrix\Main\Security\Sign\TimeSigner`](https://chugunov.pro/api-bitrix/main/security/sign/timesigner/)
Модуль: Main.
Свойства элемента: method, public.

## Сигнатура

```php
public unsign(string $signedValue[, string|null $salt = null ]) : string
```

## Описание

Простой пример:

$signer = new TimeSigner;

// Подписываем сообщение на 1 секунду
$signedValue = $signer->sign('test', '+1 second');

// Или подписываем с истечением на некоторую особую временную метку (например, 01.01.2030)
$signedValue = $signer->sign('test', 1893445200);

// Получаем исходное сообщение с проверкой
echo $signer->unsign($signedValue);
// Вывод: 'test'

// Попытка снять подпись с неподписанного значения
echo $signer->unsign('test');
//выбрасывает BadSignatureException с сообщением 'Separator not found in value'

// Или с неверной подписью
echo $signer->unsign('test.invalid_sign');

// Или неверная соль
echo $signer->unsign($signedValue, 'invalid_salt');
//выбрасывает BadSignatureException с сообщением 'Signature does not match'

// Или истёкший срок действия
echo $signer->unsign($signedValue);
//выбрасывает BadSignatureException с сообщением 'Signature timestamp expired (1403039921 < 1403040024)'

## Параметры

- `$signedValue` `string` — обязательный. Подписанное значение, должно быть в формате: {message}{separator}{expired timestamp}{separator}{signature}.
- `$salt` `string|null` — необязательный, по умолчанию `null`. Соль, если использовалась при подписи.

## Возвращаемое значение

`string`

Оригинал в официальной документации: https://docs.1c-bitrix.ru/api/classes/Bitrix-Main-Security-Sign-TimeSigner.html
