ParagonIE_Sodium_Core32_BLAKE2b::update() public WP 1.0
{} Это метод класса: ParagonIE_Sodium_Core32_BLAKE2b{}
Хуков нет.
Возвращает
null.
Использование
$result = ParagonIE_Sodium_Core32_BLAKE2b::update( $ctx, $p, $plen );
- $ctx(SplFixedмассив) (обязательный)
- -
- $p(SplFixedмассив) (обязательный)
- -
- $plen(число) (обязательный)
- -
Код ParagonIE_Sodium_Core32_BLAKE2b::update() ParagonIE Sodium Core32 BLAKE2b::update WP 5.6.2
public static function update(SplFixedArray $ctx, SplFixedArray $p, $plen)
{
self::pseudoConstructor();
$offset = 0;
while ($plen > 0) {
$left = $ctx[4];
$fill = 256 - $left;
if ($plen > $fill) {
# memcpy( S->buf + left, in, fill ); /* Fill buffer */
for ($i = $fill; $i--;) {
$ctx[3][$i + $left] = $p[$i + $offset];
}
# S->buflen += fill;
$ctx[4] += $fill;
# blake2b_increment_counter( S, BLAKE2B_BLOCKBYTES );
self::increment_counter($ctx, 128);
# blake2b_compress( S, S->buf ); /* Compress */
self::compress($ctx, $ctx[3]);
# memcpy( S->buf, S->buf + BLAKE2B_BLOCKBYTES, BLAKE2B_BLOCKBYTES ); /* Shift buffer left */
for ($i = 128; $i--;) {
$ctx[3][$i] = $ctx[3][$i + 128];
}
# S->buflen -= BLAKE2B_BLOCKBYTES;
$ctx[4] -= 128;
# in += fill;
$offset += $fill;
# inlen -= fill;
$plen -= $fill;
} else {
for ($i = $plen; $i--;) {
$ctx[3][$i + $left] = $p[$i + $offset];
}
$ctx[4] += $plen;
$offset += $plen;
$plen -= $plen;
}
}
}