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

ParagonIE_Sodium_Crypto32::secretstream_xchacha20poly1305_rekey() public WP 1.0

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

Хуков нет.

Возвращает

null.

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

$result = ParagonIE_Sodium_Crypto32::secretstream_xchacha20poly1305_rekey( $state );
$state(строка) (обязательный) (передается по ссылке — &)

Код ParagonIE_Sodium_Crypto32::secretstream_xchacha20poly1305_rekey() WP 5.5.1

<?php
public static function secretstream_xchacha20poly1305_rekey(&$state)
{
    $st = ParagonIE_Sodium_Core32_SecretStream_State::fromString($state);
    # unsigned char new_key_and_inonce[crypto_stream_chacha20_ietf_KEYBYTES +
    # crypto_secretstream_xchacha20poly1305_INONCEBYTES];
    # size_t        i;
    # for (i = 0U; i < crypto_stream_chacha20_ietf_KEYBYTES; i++) {
    #     new_key_and_inonce[i] = state->k[i];
    # }
    $new_key_and_inonce = $st->getKey();

    # for (i = 0U; i < crypto_secretstream_xchacha20poly1305_INONCEBYTES; i++) {
    #     new_key_and_inonce[crypto_stream_chacha20_ietf_KEYBYTES + i] =
    #         STATE_INONCE(state)[i];
    # }
    $new_key_and_inonce .= ParagonIE_Sodium_Core32_Util::substR($st->getNonce(), 0, 8);

    # crypto_stream_chacha20_ietf_xor(new_key_and_inonce, new_key_and_inonce,
    #                                 sizeof new_key_and_inonce,
    #                                 state->nonce, state->k);

    $st->rekey(ParagonIE_Sodium_Core32_ChaCha20::ietfStreamXorIc(
        $new_key_and_inonce,
        $st->getCombinedNonce(),
        $st->getKey(),
        ParagonIE_Sodium_Core32_Util::store64_le(0)
    ));

    # for (i = 0U; i < crypto_stream_chacha20_ietf_KEYBYTES; i++) {
    #     state->k[i] = new_key_and_inonce[i];
    # }
    # for (i = 0U; i < crypto_secretstream_xchacha20poly1305_INONCEBYTES; i++) {
    #     STATE_INONCE(state)[i] =
    #          new_key_and_inonce[crypto_stream_chacha20_ietf_KEYBYTES + i];
    # }
    # _crypto_secretstream_xchacha20poly1305_counter_reset(state);
    $st->counterReset();

    $state = $st->toString();
}