SshBinary
in package
Кодирование и декодирование бинарных типов SSH (RFC 4251).
Table of Contents
Methods
- mpint() : string
- Кодирует положительный mpint из big-endian байтов (с ведущим \x00 при старшем бите).
- nameList() : string
- Кодирует name-list как SSH string со значениями через запятую.
- readMpint() : string
- Читает mpint как беззнаковую бинарную строку (ведущий нулевой байт знака снимается).
- readString() : string
- Читает SSH string и сдвигает смещение.
- readUint32() : int
- Читает uint32 из буфера и сдвигает смещение на 4 байта.
- sshString() : string
- Кодирует SSH string: uint32 длина + содержимое.
- uint32() : string
- Кодирует беззнаковое 32-битное целое в big-endian.
Methods
mpint()
Кодирует положительный mpint из big-endian байтов (с ведущим \x00 при старшем бите).
public
static mpint(string $bytes) : string
Parameters
- $bytes : string
-
Беззнаковое big-endian представление числа
Return values
string —SSH mpint
nameList()
Кодирует name-list как SSH string со значениями через запятую.
public
static nameList(array<int, string> $names) : string
Parameters
- $names : array<int, string>
-
Имена алгоритмов/сервисов без запятых внутри
Return values
string —Закодированный name-list
readMpint()
Читает mpint как беззнаковую бинарную строку (ведущий нулевой байт знака снимается).
public
static readMpint(string $buffer, int &$offset) : string
Parameters
- $buffer : string
-
Исходный бинарный буфер
- $offset : int
-
Текущая позиция чтения
Tags
Return values
string —Байты модуля без знакового префикса
readString()
Читает SSH string и сдвигает смещение.
public
static readString(string $buffer, int &$offset) : string
Parameters
- $buffer : string
-
Исходный бинарный буфер
- $offset : int
-
Текущая позиция чтения
Tags
Return values
string —Содержимое строки или '' при выходе за границы буфера
readUint32()
Читает uint32 из буфера и сдвигает смещение на 4 байта.
public
static readUint32(string $buffer, int &$offset) : int
Parameters
- $buffer : string
-
Исходный бинарный буфер
- $offset : int
-
Текущая позиция чтения; после вызова — следующая позиция
Tags
Return values
int —Прочитанное значение или 0 при повреждённых данных
sshString()
Кодирует SSH string: uint32 длина + содержимое.
public
static sshString(string $value) : string
Parameters
- $value : string
-
Произвольные байты (включая бинарные)
Return values
string —Закодированная строка
uint32()
Кодирует беззнаковое 32-битное целое в big-endian.
public
static uint32(int $value) : string
Parameters
- $value : int
-
Значение в диапазоне 0…2³²−1 (старшие биты обрезаются pack)
Return values
string —Ровно 4 байта