wppaste
WordPress

ParagonIE_Sodium_Core_XChaCha20

Source
wp-includes/sodium_compat/src/Core/XChaCha20.php:10
Class ParagonIE_Sodium_Core_XChaCha20

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_XChaCha20 extends ParagonIE_Sodium_Core_HChaCha20{    /**     * @internal You should not use this directly from another application     *     * @param int $len     * @param string $nonce     * @param string $key     * @return string     * @throws SodiumException     * @throws TypeError     */    public static function stream($len, $nonce, $key)    {        if (self::strlen($nonce) !== 24) {            throw new SodiumException('Nonce must be 24 bytes long');        }        return self::encryptBytes(            new ParagonIE_Sodium_Core_ChaCha20_Ctx(                self::hChaCha20(                    self::substr($nonce, 0, 16),                    $key                ),                self::substr($nonce, 16, 8)            ),            str_repeat("\x00", $len)        );    }     /**     * @internal You should not use this directly from another application     *     * @param int $len     * @param string $nonce     * @param string $key     * @return string     * @throws SodiumException     * @throws TypeError     */    public static function ietfStream($len, $nonce, $key)    {        if (self::strlen($nonce) !== 24) {            throw new SodiumException('Nonce must be 24 bytes long');        }        return self::encryptBytes(            new ParagonIE_Sodium_Core_ChaCha20_IetfCtx(                self::hChaCha20(                    self::substr($nonce, 0, 16),                    $key                ),                "\x00\x00\x00\x00" . self::substr($nonce, 16, 8)            ),            str_repeat("\x00", $len)        );    }     /**     * @internal You should not use this directly from another application     *     * @param string $message     * @param string $nonce     * @param string $key     * @param string $ic     * @return string     * @throws SodiumException     * @throws TypeError     */    public static function streamXorIc($message, $nonce, $key, $ic = '')    {        if (self::strlen($nonce) !== 24) {            throw new SodiumException('Nonce must be 24 bytes long');        }        return self::encryptBytes(            new ParagonIE_Sodium_Core_ChaCha20_Ctx(                self::hChaCha20(self::substr($nonce, 0, 16), $key),                self::substr($nonce, 16, 8),                $ic            ),            $message        );

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/XChaCha20.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.