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

ParagonIE_Sodium_Core_BLAKE2b::compress() protected WP 1.0

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

Хуков нет.

Возвращает

null.

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

$result = ParagonIE_Sodium_Core_BLAKE2b::compress( $ctx, $buf );
$ctx(SplFixedмассив) (обязательный)
$buf(SplFixedмассив) (обязательный)

Код ParagonIE_Sodium_Core_BLAKE2b::compress() WP 5.5.3

<?php
protected static function compress(SplFixedArray $ctx, SplFixedArray $buf)
{
    $m = new SplFixedArray(16);
    $v = new SplFixedArray(16);

    for ($i = 16; $i--;) {
        $m[$i] = self::load64($buf, $i << 3);
    }

    for ($i = 8; $i--;) {
        $v[$i] = $ctx[0][$i];
    }

    $v[ 8] = self::$iv[0];
    $v[ 9] = self::$iv[1];
    $v[10] = self::$iv[2];
    $v[11] = self::$iv[3];

    $v[12] = self::xor64($ctx[1][0], self::$iv[4]);
    $v[13] = self::xor64($ctx[1][1], self::$iv[5]);
    $v[14] = self::xor64($ctx[2][0], self::$iv[6]);
    $v[15] = self::xor64($ctx[2][1], self::$iv[7]);

    for ($r = 0; $r < 12; ++$r) {
        $v = self::G($r, 0, 0, 4, 8, 12, $v, $m);
        $v = self::G($r, 1, 1, 5, 9, 13, $v, $m);
        $v = self::G($r, 2, 2, 6, 10, 14, $v, $m);
        $v = self::G($r, 3, 3, 7, 11, 15, $v, $m);
        $v = self::G($r, 4, 0, 5, 10, 15, $v, $m);
        $v = self::G($r, 5, 1, 6, 11, 12, $v, $m);
        $v = self::G($r, 6, 2, 7, 8, 13, $v, $m);
        $v = self::G($r, 7, 3, 4, 9, 14, $v, $m);
    }

    for ($i = 8; $i--;) {
        $ctx[0][$i] = self::xor64(
            $ctx[0][$i], self::xor64($v[$i], $v[$i+8])
        );
    }
}