MIKÄ ON LÄPINÄKYVYYSJÄRJESTELMÄ?
Käyttämämme läpinäkyvyysjärjestelmän avulla voimme tarkistaa jokaisen aukon oikeellisuuden.
Avaustulos ei ole satunnainen, vaan se on laskettu kolmen arvon perusteella:
palvelimen siemen - palvelimen määrittämä lause,
asiakkaan siemen - käyttäjän määrittämä lause,
nonce - yksilöllinen numero, jota käytetään varmistamaan laskelmien turvallisuus.
"Palvelimen siemen" -lause on piilotettu käyttäjältä ja näytetään vain muodossa ("Julkinen hash"), jotta estetään seuraavan välimuistin sisällön ennustaminen.
Käyttämällä sekä palvelimen että käyttäjän syöttämiä tietoja on mahdollista varmistaa avatun laatikon läpinäkyvyys ja estää häiriöitä molemmilta puolilta.

ASETUKSET
CLIENT SEED
SERVER SEED
Salattu siemenpalvelin HMAC SHA-512 -menetelmällä.
NONCE
KOODI VAHVISTAA AVAUSLÄPPÄIVÄN
Kun olet löytänyt palvelimen siemenen, voit käyttää alla olevaa koodia tarkistaaksesi avauksen läpinäkyvyyden. Voit suorittaa sen suoraan verkkoselaimessa millä tahansa työkalulla, kuten JavaScript Compiler. Käytä alla olevaa koodia, valmistele oma vahvistuskoodisi ja napsauta sitten "Suorita"-painiketta. Käsikirjoituksen suorittamisen jälkeen esitetään avaustulos, jonka tulee olla yhdenmukainen verkkosivustollamme julkaistun tuloksen kanssa.
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));
VAHVISTA AVAAMINEN
.png?v=3)
.png?v=3)
.png?v=3)
.png?v=3)
.png?v=3)
.png?v=3)
.png?v=3)
.png?v=3)
.png?v=3)
.png?v=3)
.png?v=3)
.png?v=3)
.png?v=3)
.png?v=3)
.png?v=3)
.png?v=3)
.png?v=3)
.png?v=3)
.png?v=3)
.png?v=3)
.png?v=3)
.png?v=3)
.png?v=3)
.png?v=3)
.png?v=3)
.png?v=3)