if (self::
useNewSodiumAPI()) { /**
* @psalm-suppress InvalidReturnStatement
* @psalm-suppress FalsableReturnStatement
*/
return sodium_crypto_box_seal_open($ciphertext,
$keypair);
} if (self::
use_fallback('crypto_box_seal_open'
)) { return call_user_func('\\Sodium\\crypto_box_seal_open',
$ciphertext,
$keypair);
} if (PHP_INT_SIZE === 4
) { return ParagonIE_Sodium_Crypto32::
box_seal_open($ciphertext,
$keypair);
} return ParagonIE_Sodium_Crypto::
box_seal_open($ciphertext,
$keypair);
} /**
* Generate a new random X25519 keypair.
*
* @return string A 64-byte string; the first 32 are your secret key, while
* the last 32 are your public key. crypto_box_secretkey()
* and crypto_box_publickey() exist to separate them so you
* don't accidentally get them mixed up!
* @throws SodiumException
* @throws TypeError
* @psalm-suppress MixedArgument
*/