3v4l.org

run code in 300+ PHP versions simultaneously
<?php $packed = '{"nonce":"xobK27GhMR960tSTcg5nrFSy35uwkKYn","key":"px2BaIAx17vdBQFdnLBimERK6KHqHNxhJN0PzKfhMHE","secretbox":"RFgczAJ_L0hOpIb_O0k9dFE58Cz-dagdEA3aHxUq_Q6jCEzTdzlMQyI7jEoauWOlH7m3EEXv4OFiD-Ke3otsoLJV0TPFbV2HV59pGNsSux9e"}'; $decoded = json_decode($packed, true); function base64url_decode(string $str): string { return base64_decode(strtr($str, '-_', '+/')); } $nonce = base64url_decode($decoded['nonce']); $key = base64url_decode($decoded['key']); $secretbox = base64url_decode($decoded['secretbox']); var_dump(sodium_crypto_secretbox_open($secretbox, $nonce, $key));

preferences:
39.35 ms | 402 KiB | 5 Q