sodium_crypto_box

(PHP 7 >= 7.2.0, PHP 8)

sodium_crypto_boxШифрование открытым ключом с проверкой подлинности

Описание

sodium_crypto_box(string $message, string $nonce, string $key_pair): string

Шифрует сообщение с использованием асимметричной криптографии (с открытым ключом).

Алгоритм, используемый функциями с префиксом sodium_crypto_box(): Эллиптическая кривая Диффи-Хеллмана на кривой Монтгомери, Curve25519; обычно сокращённо X25519.

Список параметров

message

Сообщение, которое нужно зашифровать.

nonce

Номер, который необходимо использовать только один раз для каждого сообщения. Длина 24 байта. Это достаточно большая граница для случайной генерации (например, random_bytes()).

key_pair

Смотрите sodium_crypto_box_keypair_from_secretkey_and_publickey(). Должен включать секретный ключ X25519 отправителя и открытый ключ X25519 получателя.

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

Возвращает зашифрованное сообщение (зашифрованный текст плюс тег аутентификации). Зашифрованный текст будет на 16 байтов длиннее, чем открытый текст, и необработанная двоичная строка. Смотрите sodium_bin2base64() для безопасного кодирования для хранения.