wppaste
WordPress

ParagonIE_Sodium_Core_SipHash

Source
wp-includes/sodium_compat/src/Core/SipHash.php:12
Class ParagonIE_SodiumCompat_Core_SipHash

Description

Only uses 32-bit arithmetic, while the original SipHash used 64-bit integers

Compatibility

WordPress
core
  • 6.7.7
  • 6.8.8
  • 6.9.7
  • 7.0.4
  • 7.1.0

Present in every tracked release (6.7.7 to 7.1.0).

Methods · 4

Source code

class ParagonIE_Sodium_Core_SipHash extends ParagonIE_Sodium_Core_Util{    /**     * @internal You should not use this directly from another application     *     * @param int[] $v     * @return int[]     *     */    public static function sipRound(array $v)    {        # v0 += v1;        list($v[0], $v[1]) = self::add(            array($v[0], $v[1]),            array($v[2], $v[3])        );         #  v1=ROTL(v1,13);        list($v[2], $v[3]) = self::rotl_64((int) $v[2], (int) $v[3], 13);         #  v1 ^= v0;        $v[2] = (int) $v[2] ^ (int) $v[0];        $v[3] = (int) $v[3] ^ (int) $v[1];         #  v0=ROTL(v0,32);        list($v[0], $v[1]) = self::rotl_64((int) $v[0], (int) $v[1], 32);         # v2 += v3;        list($v[4], $v[5]) = self::add(            array((int) $v[4], (int) $v[5]),            array((int) $v[6], (int) $v[7])        );         # v3=ROTL(v3,16);        list($v[6], $v[7]) = self::rotl_64((int) $v[6], (int) $v[7], 16);         #  v3 ^= v2;        $v[6] = (int) $v[6] ^ (int) $v[4];        $v[7] = (int) $v[7] ^ (int) $v[5];         # v0 += v3;        list($v[0], $v[1]) = self::add(            array((int) $v[0], (int) $v[1]),            array((int) $v[6], (int) $v[7])        );         # v3=ROTL(v3,21);        list($v[6], $v[7]) = self::rotl_64((int) $v[6], (int) $v[7], 21);         # v3 ^= v0;        $v[6] = (int) $v[6] ^ (int) $v[0];        $v[7] = (int) $v[7] ^ (int) $v[1];         # v2 += v1;        list($v[4], $v[5]) = self::add(            array((int) $v[4], (int) $v[5]),            array((int) $v[2], (int) $v[3])        );         # v1=ROTL(v1,17);        list($v[2], $v[3]) = self::rotl_64((int) $v[2], (int) $v[3], 17);         #  v1 ^= v2;;        $v[2] = (int) $v[2] ^ (int) $v[4];        $v[3] = (int) $v[3] ^ (int) $v[5];         # v2=ROTL(v2,32)        list($v[4], $v[5]) = self::rotl_64((int) $v[4], (int) $v[5], 32);         return $v;    }     /**     * Add two 32 bit integers representing a 64-bit integer.     *     * @internal You should not use this directly from another application     *     * @param int[] $a     * @param int[] $b     * @return array<int, mixed>

Changelog

Unchanged from 6.7.7 through 7.1.0.

  1. 6.7.7
  2. 6.8.8
  3. 6.9.7
  4. 7.0.4
  5. 7.1.0

Signature, return type and hooks compared across 5 parsed releases.

About this page

Parsed data
Generated from the wordpress-develop 7.1.0 tag, from src/wp-includes/sodium_compat/src/Core/SipHash.php, and regenerated for each WordPress release so it tracks the code rather than a snapshot of it.
Corrections
Something wrong on this page? Report it and it gets fixed in the next regeneration.