3v4l.org

run code in 300+ PHP versions simultaneously
<?php $data = 'payload'; $key = 'secret_salt'; $sha256_binary = hash('sha256', $data, TRUE); $sha256 = hash('sha256', $data); $md5_binary = hash('md5', $data, TRUE); $md5 = hash('md5', $data); $base64_sha256_binary = base64_encode($sha256_binary); $base64_sha256 = base64_encode($sha256); $drupal_hmac_base64 = str_replace(['+', '/', '='], ['-', '_', ''], $base64_sha256_binary); $sha256_binary_md5 = hash('md5', $sha256_binary); $hash_hmac_sha256 = hash_hmac('sha256', $data, $key); $hash_hmac_sha256_binary = hash_hmac('sha256', $data, $key, TRUE); $xxh64_hash_hmac_sha256 = hash('xxh64', $hash_hmac_sha256); $xxh64_hash_hmac_sha256_binary = hash('xxh64', $hash_hmac_sha256_binary); var_dump([ 'data' => $data, 'sha256_binary' => $sha256_binary, 'sha256' => $sha256, 'md5_binary' => $md5_binary, 'md5' => $md5, 'base64_sha256_binary' => $base64_sha256_binary, 'base64_sha256' => $base64_sha256, 'sha256_binary_md5' => $sha256_binary_md5, 'sha256_binary_bin2hex' => bin2hex($sha256_binary), 'hash_hmac_sha256' => $hash_hmac_sha256, 'hash_hmac_sha256_binary' => $hash_hmac_sha256_binary, 'xxh64_hash_hmac_sha256' => $xxh64_hash_hmac_sha256, 'xxh64_hash_hmac_sha256_binary' => $xxh64_hash_hmac_sha256_binary, 'drupal_hmac_base64' => $drupal_hmac_base64, 'drupal_hmac_base64_md5' => md5($drupal_hmac_base64), ]);
Output for 8.1.32, 8.2.0 - 8.2.28, 8.3.0 - 8.3.20, 8.4.1 - 8.4.6
array(15) { ["data"]=> string(7) "payload" ["sha256_binary"]=> string(32) "#�Y�U�7�qG�U�  m~�H�BiR��Rթ5�" ["sha256"]=> string(64) "239f59ed55e737c77147cf55ad0c1b030b6d7ee748a7426952f9b852d5a935e5" ["md5_binary"]=> string(16) "2<��P�d�����" ["md5"]=> string(32) "321c3cf486ed509164edec1e1981fec8" ["base64_sha256_binary"]=> string(44) "I59Z7VXnN8dxR89VrQwbAwttfudIp0JpUvm4UtWpNeU=" ["base64_sha256"]=> string(88) "MjM5ZjU5ZWQ1NWU3MzdjNzcxNDdjZjU1YWQwYzFiMDMwYjZkN2VlNzQ4YTc0MjY5NTJmOWI4NTJkNWE5MzVlNQ==" ["sha256_binary_md5"]=> string(32) "6c34d174e9045624781c6858a343f9c2" ["sha256_binary_bin2hex"]=> string(64) "239f59ed55e737c77147cf55ad0c1b030b6d7ee748a7426952f9b852d5a935e5" ["hash_hmac_sha256"]=> string(64) "55f757f8f66f6d8310ca4e25f5b8a0573ab2d558baf298406dcb32c7a26af9a0" ["hash_hmac_sha256_binary"]=> string(32) "U�W��om��N%���W:��X��@m�2Ǣj��" ["xxh64_hash_hmac_sha256"]=> string(16) "6a84a353b34cf4f8" ["xxh64_hash_hmac_sha256_binary"]=> string(16) "532cebd8f24cf132" ["drupal_hmac_base64"]=> string(43) "I59Z7VXnN8dxR89VrQwbAwttfudIp0JpUvm4UtWpNeU" ["drupal_hmac_base64_md5"]=> string(32) "3f8b5d88a1cb87e1ce1fb4a258409636" }

preferences:
55.87 ms | 410 KiB | 5 Q