3v4l.org

run code in 500+ PHP versions simultaneously
<?php $server_seed = '83cd8d18b416bbdd22fa25135608b197'; $client_seeds = 'rnNOy5IWg1TEZfSC0U0CQNGAUFnB5C5Fc3e5a7e0cd2411dc5da8e3e716cc10300c791ffce0742d6c2243b253363f9591KGmiyM8wxtsiGTXt'; $targets = [ 1 => 71459, 2 => 68973, 3 => 92006, 4 => 27155 ]; echo "--- HELLCASE 'SWAPPED' V2 AUDIT ---\n"; foreach ($targets as $nonce => $target_roll) { // VARIATION C: We use the Client Seeds as the KEY and the Server Seed + Nonce as the MESSAGE $message = $server_seed . ':' . $nonce; $hash = hash_hmac('sha256', $message, $client_seeds); $hex_8 = substr($hash, 0, 8); $decimal = hexdec($hex_8); $roll_calculated = ($decimal % 1000000) + 1; echo "Nonce [$nonce]: Calculated: $roll_calculated | Expected: $target_roll -> "; echo ($roll_calculated == $target_roll ? "✅ MATCH!\n" : "❌ FAIL\n"); } ?> <?php $server_seed = '83cd8d18b416bbdd22fa25135608b197'; $client_seeds = 'rnNOy5IWg1TEZfSC0U0CQNGAUFnB5C5Fc3e5a7e0cd2411dc5da8e3e716cc10300c791ffce0742d6c2243b253363f9591KGmiyM8wxtsiGTXt'; $targets = [ 1 => 71459, 2 => 68973, 3 => 92006, 4 => 27155 ]; echo "--- HELLCASE 'SWAPPED' V2 AUDIT ---\n"; foreach ($targets as $nonce => $target_roll) { // VARIATION C: We use the Client Seeds as the KEY and the Server Seed + Nonce as the MESSAGE $message = $server_seed . ':' . $nonce; $hash = hash_hmac('sha256', $message, $client_seeds); $hex_8 = substr($hash, 0, 8); $decimal = hexdec($hex_8); $roll_calculated = ($decimal % 1000000) + 1; echo "Nonce [$nonce]: Calculated: $roll_calculated | Expected: $target_roll -> "; echo ($roll_calculated == $target_roll ? "✅ MATCH!\n" : "❌ FAIL\n"); } ?>
Output for 8.3.0 - 8.3.30, 8.4.1 - 8.4.18, 8.5.0 - 8.5.3
--- HELLCASE 'SWAPPED' V2 AUDIT --- Nonce [1]: Calculated: 751619 | Expected: 71459 -> ❌ FAIL Nonce [2]: Calculated: 793965 | Expected: 68973 -> ❌ FAIL Nonce [3]: Calculated: 332407 | Expected: 92006 -> ❌ FAIL Nonce [4]: Calculated: 319021 | Expected: 27155 -> ❌ FAIL --- HELLCASE 'SWAPPED' V2 AUDIT --- Nonce [1]: Calculated: 751619 | Expected: 71459 -> ❌ FAIL Nonce [2]: Calculated: 793965 | Expected: 68973 -> ❌ FAIL Nonce [3]: Calculated: 332407 | Expected: 92006 -> ❌ FAIL Nonce [4]: Calculated: 319021 | Expected: 27155 -> ❌ FAIL

preferences:
42.21 ms | 733 KiB | 4 Q