3v4l.org

run code in 300+ PHP versions simultaneously
<?php function base64UrlDecode($input) { return base64_decode(strtr($input, '-_', '+/')); } $signed_request = 'rs25bODttOJd3JIA8EW7xSA-wDNJGVBqallNSqftfxA.eyJpbnN0YW5jZUlkIjoiMTJlODMwNzAtNmRhNy0yNjU1LWVhNTktODc0MWZjYmQ1MWFkIiwic2lnbkRhdGUiOiIyMDE0LTAyLTA2VDAxOjE0OjI4LjMwNC0wNjowMCIsInVpZCI6IjBhNGZiZjFhLTRkNDMtNDU1ZC1iMzk5LTFkOTA0MTgyZWZjMiIsInBlcm1pc3Npb25zIjoiT1dORVIiLCJpcEFuZFBvcnQiOiIyMTIuMjkuMTkyLjE0LzY1Mjg1IiwidmVuZG9yUHJvZHVjdElkIjoiIiwiZGVtb01vZGUiOmZhbHNlfQ'; list($encoded_sig, $payload) = explode('.', $signed_request, 2); $sig = base64UrlDecode($encoded_sig); $data = json_decode(base64UrlDecode($payload), true); $expected_sig = hash_hmac('sha256', $payload, $this->secret, $raw = true); echo $expected_sig;

preferences:
37.32 ms | 402 KiB | 5 Q