(PHP 7 >= 7.2.0, PHP 8)
sodium_crypto_box — Шифрование открытым ключом с проверкой подлинности
$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() для безопасного кодирования для хранения.