<?php
/*
* Fill in all five below and click blue 'eval();' button below textarea.
*
* ------------------ */
$caseNumber = -1;
$unhashedServerSeed = '';
$nonce = -1;
$clientSeed = '';
$qty = -1;
/* ------------------ */
if ($caseNumber < 0 || $unhashedServerSeed == '' || $nonce < 0 || $clientSeed == '' || $qty < 0) {
echo "Fill in details";
return;
}
$unhashedServerSeed = preg_replace( "/\r|\n/", "", $unhashedServerSeed );
$clientSeed = preg_replace( "/\r|\n/", "", $clientSeed );
function stringToInt32($seed)
{
$groups = str_split((string)$seed, 4);
$groups = array_map(function ($g) {
return unpack('C*', $g);
}, $groups);
$groups = array_filter($groups, function ($g) {
return count($g) === 4;
});
$result = array_map(function ($group) {
return array_reduce($group, function ($acc, $cur) {
return ($acc << 4) | $cur;
}, 0);
}, $groups);
return array_reduce($result, function ($acc, $cur) {
return ($acc ^ $cur);
}, 0);
}
$serverSeedInt = stringToInt32($unhashedServerSeed);
$clientSeedInt = stringToInt32($clientSeed);
$seed = $serverSeedInt ^ $clientSeedInt ^ (int)$caseNumber ^ (int)$nonce;
mt_srand($seed, MT_RAND_MT19937);
$result = mt_rand(1, $qty);
echo "Seed: $seed\n";
echo "Result: $result";
- Output for 7.2.0 - 7.2.34, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.24, 8.4.1 - 8.4.11
- Fill in details
preferences:
108.1 ms | 407 KiB | 5 Q