--- a/wp/wp-includes/sodium_compat/src/Core/Util.php Fri Sep 05 18:40:08 2025 +0200
+++ b/wp/wp-includes/sodium_compat/src/Core/Util.php Fri Sep 05 18:52:52 2025 +0200
@@ -9,6 +9,8 @@
*/
abstract class ParagonIE_Sodium_Core_Util
{
+ const U32_MAX = 0xFFFFFFFF;
+
/**
* @param int $integer
* @param int $size (16, 32, 64)
@@ -34,6 +36,28 @@
}
/**
+ * @param string $a
+ * @param string $b
+ * @return string
+ * @throws SodiumException
+ */
+ public static function andStrings($a, $b)
+ {
+ /* Type checks: */
+ if (!is_string($a)) {
+ throw new TypeError('Argument 1 must be a string');
+ }
+ if (!is_string($b)) {
+ throw new TypeError('Argument 2 must be a string');
+ }
+ $len = self::strlen($a);
+ if (self::strlen($b) !== $len) {
+ throw new SodiumException('Both strings must be of equal length to combine with bitwise AND');
+ }
+ return $a & $b;
+ }
+
+ /**
* Convert a binary string into a hexadecimal string without cache-timing
* leaks
*