<?php
/*
* Fill in all four below and click blue 'eval();' button below textarea.
*
* ------------------ */
$ticketPrice = -1;
$unhashedServerSeed = '';
$nonce = -1;
$clientSeed = '';
/* ------------------ */
if ($ticketPrice < 0 || $unhashedServerSeed == '' || $nonce < 0 || $clientSeed == '') {
echo "Fill in details";
return;
}
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)$ticketPrice ^ (int)$nonce;
$max = 10000;
mt_srand($seed, MT_RAND_MT19937);
$result = mt_rand(0, $max);
echo "Seed: $seed\n";
echo "Result: $result";
preferences:
29.94 ms | 402 KiB | 5 Q