ParagonIE_Sodium_Core32_Ed25519::check_S_lt_L() public WP 1.0
{} Это метод класса: ParagonIE_Sodium_Core32_Ed25519{}
Хуков нет.
Возвращает
true/false.
Использование
$result = ParagonIE_Sodium_Core32_Ed25519::check_S_lt_L( $S );
- $S(строка) (обязательный)
- -
Код ParagonIE_Sodium_Core32_Ed25519::check_S_lt_L() ParagonIE Sodium Core32 Ed25519::check S lt L WP 5.6.2
public static function check_S_lt_L($S)
{
if (self::strlen($S) < 32) {
throw new SodiumException('Signature must be 32 bytes');
}
static $L = array(
0xed, 0xd3, 0xf5, 0x5c, 0x1a, 0x63, 0x12, 0x58,
0xd6, 0x9c, 0xf7, 0xa2, 0xde, 0xf9, 0xde, 0x14,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10
);
/** @var array<int, int> $L */
$c = 0;
$n = 1;
$i = 32;
do {
--$i;
$x = self::chrToInt($S[$i]);
$c |= (
(($x - $L[$i]) >> 8) & $n
);
$n &= (
(($x ^ $L[$i]) - 1) >> 8
);
} while ($i !== 0);
return $c === 0;
}