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

ParagonIE_Sodium_Core_Curve25519::fe_frombytes() public WP 1.0

Give: 32-byte string. Receive: A field element object to use for internal calculations.

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

Хуков нет.

Возвращает

ParagonIE_Sodium_Core_Curve25519_Fe.

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

$result = ParagonIE_Sodium_Core_Curve25519::fe_frombytes( $s );
$s(строка) (обязательный)

Код ParagonIE_Sodium_Core_Curve25519::fe_frombytes() WP 5.5.1

<?php
public static function fe_frombytes($s)
{
    if (self::strlen($s) !== 32) {
        throw new RangeException('Expected a 32-byte string.');
    }
    /** @var int $h0 */
    $h0 = self::load_4($s);
    /** @var int $h1 */
    $h1 = self::load_3(self::substr($s, 4, 3)) << 6;
    /** @var int $h2 */
    $h2 = self::load_3(self::substr($s, 7, 3)) << 5;
    /** @var int $h3 */
    $h3 = self::load_3(self::substr($s, 10, 3)) << 3;
    /** @var int $h4 */
    $h4 = self::load_3(self::substr($s, 13, 3)) << 2;
    /** @var int $h5 */
    $h5 = self::load_4(self::substr($s, 16, 4));
    /** @var int $h6 */
    $h6 = self::load_3(self::substr($s, 20, 3)) << 7;
    /** @var int $h7 */
    $h7 = self::load_3(self::substr($s, 23, 3)) << 5;
    /** @var int $h8 */
    $h8 = self::load_3(self::substr($s, 26, 3)) << 4;
    /** @var int $h9 */
    $h9 = (self::load_3(self::substr($s, 29, 3)) & 8388607) << 2;

    /** @var int $carry9 */
    $carry9 = ($h9 + (1 << 24)) >> 25;
    $h0 += self::mul($carry9, 19, 5);
    $h9 -= $carry9 << 25;
    /** @var int $carry1 */
    $carry1 = ($h1 + (1 << 24)) >> 25;
    $h2 += $carry1;
    $h1 -= $carry1 << 25;
    /** @var int $carry3 */
    $carry3 = ($h3 + (1 << 24)) >> 25;
    $h4 += $carry3;
    $h3 -= $carry3 << 25;
    /** @var int $carry5 */
    $carry5 = ($h5 + (1 << 24)) >> 25;
    $h6 += $carry5;
    $h5 -= $carry5 << 25;
    /** @var int $carry7 */
    $carry7 = ($h7 + (1 << 24)) >> 25;
    $h8 += $carry7;
    $h7 -= $carry7 << 25;

    /** @var int $carry0 */
    $carry0 = ($h0 + (1 << 25)) >> 26;
    $h1 += $carry0;
    $h0 -= $carry0 << 26;
    /** @var int $carry2 */
    $carry2 = ($h2 + (1 << 25)) >> 26;
    $h3 += $carry2;
    $h2 -= $carry2 << 26;
    /** @var int $carry4 */
    $carry4 = ($h4 + (1 << 25)) >> 26;
    $h5 += $carry4;
    $h4 -= $carry4 << 26;
    /** @var int $carry6 */
    $carry6 = ($h6 + (1 << 25)) >> 26;
    $h7 += $carry6;
    $h6 -= $carry6 << 26;
    /** @var int $carry8 */
    $carry8 = ($h8 + (1 << 25)) >> 26;
    $h9 += $carry8;
    $h8 -= $carry8 << 26;

    return ParagonIE_Sodium_Core_Curve25519_Fe::fromArray(
        array(
            (int) $h0,
            (int) $h1,
            (int) $h2,
            (int) $h3,
            (int) $h4,
            (int) $h5,
            (int) $h6,
            (int) $h7,
            (int) $h8,
            (int) $h9
        )
    );
}