<?php $serverSeed = getenv('PF_SERVER_SEED') ?: '...'; // 32 hex $serverSalt = getenv('PF_SERVER_SALT') ?: '...'; // 16 hex $publicHash = getenv('PF_PUBLIC_HASH') ?: '...'; // 64 hex $clientSeed = getenv('PF_CLIENT_SEED') ?: '...'; $nonce = (int) (getenv('PF_NONCE') ?: 0); $maxRoll = (int) (getenv('PF_MAX_ROLL') ?: 100000); $expectedRoll = getenv('PF_EXPECTED_ROLL') !== false ? (int) getenv('PF_EXPECTED_ROLL') : null; // ─────────────────────────────────────────────────────────────────────────── $roll = (hexdec(substr(hash_hmac('sha512', $serverSeed, "$clientSeed-$nonce"), 0, 15)) % $maxRoll) + 1; $hashOk = hash_equals($publicHash, hash_hmac('sha256', $serverSeed, $serverSalt)); printf("public hash matches: %s\n", $hashOk ? 'YES' : 'NO'); printf("roll: %d (full 1..%d)\n", $roll, $maxRoll); if ($expectedRoll !== null) { printf("matches API roll (%d): %s\n", $expectedRoll, $roll === $expectedRoll ? 'YES' : 'NO'); }
You have javascript disabled. You will not be able to edit any code.