最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

可信的公平:验证错误:primedice.com和bitsler.com

IT培训 admin 6浏览 0评论

可信的公平:验证错误:primedice.com和bitsler.com

我正在尝试验证骰子掷骰,但生成错误的掷骰数字。我试过了2个网站的官方验证脚本:

  • primedice的NodeJS verification script。
  • bitsler和用于检查滚动的PHP脚本。

你能帮我理解为什么我不能得到与网站上相同的滚动数...让我们专注于primedice,因为我认为问题肯定是相似的。

primedice卷的详细信息:

roll #20,549,462,672
server seed (hashed) : a72c7d6e95b7122dc21968505b91d729f4eef30af2c019488bb76274290ad183
client seed (nonced) : a9e65af098fe00229917de5659746dda-28

roll number shown on site: 35.02

我想在代码中使用的nonce有28个。所以我填充nodejs变量如下:

var clientSeed = "a9e65af098fe00229917de5659746dda";
var serverSeed = 
"a72c7d6e95b7122dc21968505b91d729f4eef30af2c019488bb76274290ad183";
var nonce      = 28;

//----- official roll function from primedice

var crypto = require('crypto');

var roll = function(key, text) {  
    var hash = crypto.createHmac('sha512', key).update(text).digest('hex');    
    var index = 0;    
    var lucky = parseInt(hash.substring(index * 5, index * 5 + 5), 16);
    while (lucky >= Math.pow(10, 6)) {        
    index++;        
    lucky = parseInt(hash.substring(index * 5, index * 5 + 5), 16);        //if we reach the end of the hash, just default to highest number        
    if (index * 5 + 5 > 128) {            
        lucky = 99.99;            
        break;        
    }    
}    
lucky %= Math.pow(10, 4);    
lucky /= Math.pow(10, 2);    

return lucky;
} 

console.log(roll(serverSeed, clientSeed+'-'+nonce));

然后使用网站给出的滚动功能。生成的结果是:

 roll number generated :  50.64

所以50.64不是网站显示的==> 35.02

任何的想法?

回答如下:

我明白问题是什么。这是要验证的卷

roll #20,549,462,672
server seed (hashed) : 
a72c7d6e95b7122dc21968505b91d729f4eef30af2c019488bb76274290ad183
client seed (nonced) : a9e65af098fe00229917de5659746dda-28

如您所见,它显示“服务器种子(散列)”。您无法使用种子的散列表示来计算正确的值。你需要真正的种子来获得正确的数字。

了解真正的种子意味着你可以下注,并且100%肯定会赢得每一个新的筹码。

因此,该服务不会让您看到用于让您下注的服务器种子。您必须进行种子更改,然后服务器将显示您上次会话使用的真实种子。

因此,您只能验证来自旧服务器种子的卷号,而不是当前卷号,因为出于安全原因,服务保密。

可信的公平:验证错误:primedice.com和bitsler.com

我正在尝试验证骰子掷骰,但生成错误的掷骰数字。我试过了2个网站的官方验证脚本:

  • primedice的NodeJS verification script。
  • bitsler和用于检查滚动的PHP脚本。

你能帮我理解为什么我不能得到与网站上相同的滚动数...让我们专注于primedice,因为我认为问题肯定是相似的。

primedice卷的详细信息:

roll #20,549,462,672
server seed (hashed) : a72c7d6e95b7122dc21968505b91d729f4eef30af2c019488bb76274290ad183
client seed (nonced) : a9e65af098fe00229917de5659746dda-28

roll number shown on site: 35.02

我想在代码中使用的nonce有28个。所以我填充nodejs变量如下:

var clientSeed = "a9e65af098fe00229917de5659746dda";
var serverSeed = 
"a72c7d6e95b7122dc21968505b91d729f4eef30af2c019488bb76274290ad183";
var nonce      = 28;

//----- official roll function from primedice

var crypto = require('crypto');

var roll = function(key, text) {  
    var hash = crypto.createHmac('sha512', key).update(text).digest('hex');    
    var index = 0;    
    var lucky = parseInt(hash.substring(index * 5, index * 5 + 5), 16);
    while (lucky >= Math.pow(10, 6)) {        
    index++;        
    lucky = parseInt(hash.substring(index * 5, index * 5 + 5), 16);        //if we reach the end of the hash, just default to highest number        
    if (index * 5 + 5 > 128) {            
        lucky = 99.99;            
        break;        
    }    
}    
lucky %= Math.pow(10, 4);    
lucky /= Math.pow(10, 2);    

return lucky;
} 

console.log(roll(serverSeed, clientSeed+'-'+nonce));

然后使用网站给出的滚动功能。生成的结果是:

 roll number generated :  50.64

所以50.64不是网站显示的==> 35.02

任何的想法?

回答如下:

我明白问题是什么。这是要验证的卷

roll #20,549,462,672
server seed (hashed) : 
a72c7d6e95b7122dc21968505b91d729f4eef30af2c019488bb76274290ad183
client seed (nonced) : a9e65af098fe00229917de5659746dda-28

如您所见,它显示“服务器种子(散列)”。您无法使用种子的散列表示来计算正确的值。你需要真正的种子来获得正确的数字。

了解真正的种子意味着你可以下注,并且100%肯定会赢得每一个新的筹码。

因此,该服务不会让您看到用于让您下注的服务器种子。您必须进行种子更改,然后服务器将显示您上次会话使用的真实种子。

因此,您只能验证来自旧服务器种子的卷号,而不是当前卷号,因为出于安全原因,服务保密。

发布评论

评论列表 (0)

  1. 暂无评论