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

ParagonIE_Sodium_Core_Base64_UrlSafe::doEncode() protected WP 1.0

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

Хуков нет.

Возвращает

Строку.

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

$result = ParagonIE_Sodium_Core_Base64_UrlSafe::doEncode( $src, $pad );
$src(строка) (обязательный)
$pad(true/false)
Include = padding?
По умолчанию: true

Код ParagonIE_Sodium_Core_Base64_UrlSafe::doEncode() WP 5.5.1

<?php
protected static function doEncode($src, $pad = true)
{
    $dest = '';
    $srcLen = ParagonIE_Sodium_Core_Util::strlen($src);
    // Main loop (no padding):
    for ($i = 0; $i + 3 <= $srcLen; $i += 3) {
        /** @var array<int, int> $chunk */
        $chunk = unpack('C*', ParagonIE_Sodium_Core_Util::substr($src, $i, 3));
        $b0 = $chunk[1];
        $b1 = $chunk[2];
        $b2 = $chunk[3];

        $dest .=
            self::encode6Bits(               $b0 >> 2       ) .
            self::encode6Bits((($b0 << 4) | ($b1 >> 4)) & 63) .
            self::encode6Bits((($b1 << 2) | ($b2 >> 6)) & 63) .
            self::encode6Bits(  $b2                     & 63);
    }
    // The last chunk, which may have padding:
    if ($i < $srcLen) {
        /** @var array<int, int> $chunk */
        $chunk = unpack('C*', ParagonIE_Sodium_Core_Util::substr($src, $i, $srcLen - $i));
        $b0 = $chunk[1];
        if ($i + 1 < $srcLen) {
            $b1 = $chunk[2];
            $dest .=
                self::encode6Bits($b0 >> 2) .
                self::encode6Bits((($b0 << 4) | ($b1 >> 4)) & 63) .
                self::encode6Bits(($b1 << 2) & 63);
            if ($pad) {
                $dest .= '=';
            }
        } else {
            $dest .=
                self::encode6Bits( $b0 >> 2) .
                self::encode6Bits(($b0 << 4) & 63);
            if ($pad) {
                $dest .= '==';
            }
        }
    }
    return $dest;
}