method public

TimeSigner::unpack()

Класс: \Bitrix\Main\Security\Sign\TimeSigner

Сигнатура

public unpack(string $value[, int $limit = 2 ]) : array<string|int, mixed>

Описание

Простой пример для разделителя ".":

// Распаковка всех значений:
unpack('test.all.values', 0) -> ['test', 'all', 'values']

// Распаковка 2 значений (по умолчанию). Первый элемент содержит остаток строки.
unpack('test.all.values') -> ['test.all', 'values']

// Исключение, если разделитель отсутствует
unpack('test.all values', 3) -> throws BadSignatureException

Параметры

$value string
Строка для распаковки.
$limit int = 2
Если $limit === 0 — распаковываются все значения, по умолчанию — 2.

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

array<string|int, mixed>

Как применяется в TimeSigner

TimeSigner::unpack() — метод класса \Bitrix\Main\Security\Sign\TimeSigner модуля «Главный модуль».

Метод объекта: сначала нужен экземпляр TimeSigner.

use Bitrix\Main\Security\Sign\TimeSigner;

/** @var TimeSigner $object */
$value = '';
$result = $object->unpack($value);
// $result: array<string|int, mixed>

Другие методы TimeSigner

  • getSeparator() Возвращает разделитель, используемый для упаковки/распаковки
  • getSignature() Возвращает подпись сообщения
  • pack() Упаковывает значения массива в одну строку: pack(['test', 'all', 'values']) -> 'test.all.values'
  • setKey() Устанавливает ключ для подписи
  • setSeparator() Устанавливает разделитель, используемый для упаковки/распаковки
  • sign() Подписывает сообщение со временем истечения, возвращает строку в формате: {message}{separator}{expired timestamp}{separator}{signature}
  • unsign() Проверяет подпись сообщения и его срок действия. Если всё в порядке — возвращает исходное…
  • validate() Простая проверка подписи сообщения

unpack() есть и у других классов модуля «Главный модуль»: Signer.

Исходный файл: source/main/lib/security/sign/timesigner.php:248

Что будем искать? Например,Продвижение