WordPress как на ладони
Недорогой хостинг для сайтов на WordPress: wordpress.jino.ru Самая быстрая Тема-конструктор для WordPress
функция не описана

ParagonIE_Sodium_Compat::crypto_kx_client_session_keys() public WP 1.0

Это метод класса: ParagonIE_Sodium_Compat{}

Хуков нет.

Возвращает

Массив{0:. string, 1: string}

Использование

$result = ParagonIE_Sodium_Compat::crypto_kx_client_session_keys( $keypair, $serverPublicKey );
$keypair(строка) (обязательный)
$serverPublicKey(строка) (обязательный)

Код ParagonIE_Sodium_Compat::crypto_kx_client_session_keys() WP 5.5.1

<?php
public static function crypto_kx_client_session_keys($keypair, $serverPublicKey)
{
    ParagonIE_Sodium_Core_Util::declareScalarType($keypair, 'string', 1);
    ParagonIE_Sodium_Core_Util::declareScalarType($serverPublicKey, 'string', 2);

    $keypair = (string) $keypair;
    $serverPublicKey = (string) $serverPublicKey;

    if (ParagonIE_Sodium_Core_Util::strlen($keypair) !== self::CRYPTO_KX_KEYPAIRBYTES) {
        throw new SodiumException('keypair should be SODIUM_CRYPTO_KX_KEYPAIRBYTES bytes');
    }
    if (ParagonIE_Sodium_Core_Util::strlen($serverPublicKey) !== self::CRYPTO_KX_PUBLICKEYBYTES) {
        throw new SodiumException('public keys must be SODIUM_CRYPTO_KX_PUBLICKEYBYTES bytes');
    }

    $sk = self::crypto_kx_secretkey($keypair);
    $pk = self::crypto_kx_publickey($keypair);
    $h = self::crypto_generichash_init(null, self::CRYPTO_KX_SESSIONKEYBYTES * 2);
    self::crypto_generichash_update($h, self::crypto_scalarmult($sk, $serverPublicKey));
    self::crypto_generichash_update($h, $pk);
    self::crypto_generichash_update($h, $serverPublicKey);
    $sessionKeys = self::crypto_generichash_final($h, self::CRYPTO_KX_SESSIONKEYBYTES * 2);
    return array(
        ParagonIE_Sodium_Core_Util::substr(
            $sessionKeys,
            0,
            self::CRYPTO_KX_SESSIONKEYBYTES
        ),
        ParagonIE_Sodium_Core_Util::substr(
            $sessionKeys,
            self::CRYPTO_KX_SESSIONKEYBYTES,
            self::CRYPTO_KX_SESSIONKEYBYTES
        )
    );
}