Connect Manager

SshBinary

FinalYes

Кодирование и декодирование бинарных типов 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
param-out

int $offset

Return values
string —

Байты модуля без знакового префикса

readString()

Читает SSH string и сдвигает смещение.

public static readString(string $buffer, int &$offset) : string
Parameters
$buffer : string

Исходный бинарный буфер

$offset : int

Текущая позиция чтения

Tags
param-out

int $offset

Return values
string —

Содержимое строки или '' при выходе за границы буфера

readUint32()

Читает uint32 из буфера и сдвигает смещение на 4 байта.

public static readUint32(string $buffer, int &$offset) : int
Parameters
$buffer : string

Исходный бинарный буфер

$offset : int

Текущая позиция чтения; после вызова — следующая позиция

Tags
param-out

int $offset

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 байта

On this page

Search results