CE ESTE SISTEMUL DE TRANSPARENȚĂ?
Sistemul de transparență pe care îl folosim permite verificarea corectitudinii fiecărei deschideri.
Rezultatul deschiderii nu este aleatoriu, ci calculat pe baza a trei valori:
server seed - o expresie determinată de server,
client seed - o frază determinată de utilizator,
nonce - un număr unic folosit pentru a asigura securitatea calculelor.
Fraza „Server seed" este ascunsă utilizatorului și afișată doar ca („Public hash"), pentru a împiedica previzionarea conținutului următoarei cutii.
Prin utilizarea datelor introduse atât de server, cât și de utilizator, este posibilă asigurarea transparenței cutiei deschise, excludând în același timp interferența din ambele părți.

CONFIGURARE
CLIENT SEED
SERVER SEED
Server seed criptat prin metoda HMAC SHA-512.
NONCE
COD DE VERIFICARE A TRANSPARENȚEI DESCHIDERII
După dezvăluirea Server seed-ului, poți folosi codul de mai jos pentru a verifica transparența deschiderii. Îl poți rula direct în browserul tău, folosind orice instrument de tip JavaScript Compiler. Folosind codul de mai jos, pregătește propriul script de verificare, apoi dă clic pe „Rulează". După executarea scriptului, va fi afișat rezultatul deschiderii, care ar trebui să corespundă cu rezultatul afișat pe site-ul nostru.
async function getRoll(serverSeed, serverNonce, clientSeed) {
const enc = new TextEncoder();
const key = enc.encode(serverSeed);
const message = enc.encode(clientSeed + '-' + serverNonce.toString());
const cryptoKey = await crypto.subtle.importKey(
'raw',
key,
{ name: 'HMAC', hash: 'SHA-512' },
false,
['sign']
);
const signature = await crypto.subtle.sign('HMAC', cryptoKey, message);
const hashArray = Array.from(new Uint8Array(signature));
const hex = hashArray.map(b => b.toString(16).padStart(2, '0')).join('');
const rollHex = hex.substring(0, 7);
const number = parseInt(rollHex.replace(/[^a-f0-9]/gi, ''), 16);
return (number % 100000) + 1;
}
serverSeed = '';
serverNonce = 1;
clientSeed = '';
getRoll(serverSeed, serverNonce, clientSeed).then(roll => console.log('Roll result:', roll));
VERIFICĂ DESCHIDEREA
.png?v=4)
.png?v=4)
.png?v=4)
.png?v=4)
.png?v=4)
.png?v=4)
.png?v=4)
.png?v=4)
.png?v=4)
.png?v=4)
.png?v=4)
.png?v=4)
.png?v=4)
.png?v=4)
.png?v=4)
.png?v=4)
.png?v=4)
.png?v=4)
.png?v=4)
.png?v=4)
.png?v=4)
.png?v=4)
.png?v=4)
.png?v=4)
.png?v=4)