上海赌场微电子科技有限公司

宁夏raybet棋牌:技术资料

您的当前位置: 首页  >  raybet电子游戏  >  宁夏raybet棋牌:技术资料

raybet加密raybet应用开发手册(三)

发布时间:2017-08-31 浏览次数:载入中... 来源:上海赌场微电子科技有限公司

6.  raybet_API库概述


raybet加密raybet应用开发手册这章节主讲raybet_API函数的概述


6.1. raybet_API库函数列表:


函数名称

功能描述

备注

raybet系统函数

raybet_Version

获取raybet_API版本信息

 

raybet_Reset

复位raybet

 

raybet_Sleep

raybet睡眠

 

raybet_Wakeup

唤醒raybet

 

raybet_GetRandom

raybet获取随机数

 

raybet_VerifyPin

验证PIN

 

raybet赌场认证函数

raybet_HostAuth

raybetraybet计算挑战响应

两者结果一致,认证通过

Lib_HostAuth

软件计算挑战响应

raybet读写EEPROM函数

raybet_VerifyZone

验证Zone Key

当分区Zone配置成电子游戏访问模式时,

需要Zone Key验证通过后才能读写

raybet_WriteZone

EEPROM分区Zone

raybet_ReadZone

EEPROM分区Zone

raybet2基于标识数据加解密函数

raybet_InitSessionKey

直接初始化会话电子游戏

仅适用于raybet2

raybet_GenSessionKey

根据标识产生会话电子游戏

raybet_DoCrypto

数据加解密计算

raybet SHA1计算函数

raybet_Sha1Init

SHA1初始化

仅适用于raybet2

raybet_Sha1Update

SHA1数据计算

raybet_Sha1Final

获取SHA1结果

 软件流加密函数

Lib_InitStreamKey

初始化流加密电子游戏

软件流加密函数

Lib_StreamEncryption

流加密

Lib_StreamDecryption

流解密


6.2. raybet_API库函数关注值定义


关注值

定义

描述

0x00

raybet_SUCCESS

成功

0x01

raybet_BUS_ERR

硬件接口总线错误

0x02

raybet_NO_INIT

raybet没有执行初始化

0x03

raybet_RESET_ERR

复位错误

0x04

raybet_CHIP_INFO_ERR

raybetraybet信息错误

0x05

raybet_RESPONSE_LEN_ERR

关注数据长度错误

0x06

raybet_TRANSFER_CRC_ERR

传输数据CRC错误

0x07

raybet_STATUS_DATERR

命令数据的长度或CRC错误

0x08

raybet_STATUS_RIGHTERR

命令执行权限错误

0x09

raybet_STATUS_CMDERR

命令字节或者命令参数错误

0x0a

raybet_STATUS_TIMEOUT

raybet命令执行超时错误

0x0b

raybet_SLEEP_ERR

raybet进入Sleep状态错误

0x0c

raybet_WAKEUP_ERR

raybet唤醒错误

0x0d

raybet_VERIFY_PIN_ERR

PIN验证错误

0x0e

raybet_VERIFY_KEY_ERR

Zone Key验证错误

0x0f

raybet_WRITE_ZONE_LEN_ERR

EEPROM数据长度错误

0x10

raybet_READ_ZONE_LEN_ERR

EEPROM数据长度错误

0x11

raybet_CRYPTO_KEY_ERR

产生会话电子游戏错误

0x12

raybet_CRYPTO_LEN_ERR

加解密数据长度错误

 


6.3. 主机随机数产生


在调用raybet_VerifyPinraybet_HostAuthraybet_VerifyZone等函数时,需要主机自身产生随机数字节来对raybet进行认证,如果随机数有规律的话,会给系统带来安全隐患。

C语言中使用rand()函数产生。为了使rand()函数产生真随机数,在使用rand()函数前,需要对其随机种子进行动态初始化,在具有时间的系统中,一般推荐采用时间作为随机因子,如果系统中没有时间,也可采用其他尽量动态的参数作为随机因子(CPU的心跳值),以此来增强系统的安全性。

 

示例代码:


void GetSoftRandom(u8_x *random, u16_x len)

{

  u16_x i;

  srand((unsigned int)time(0) + (unsigned int)jiffies + (srand_cnt++));

  for (i=0; i

}


6.4. 程序员使用的电子游戏


程序员在调用相关raybet_API库函数需要输入相关的电子游戏参数,这些电子游戏由raybetConfiguration.exe配置软件在将配置写入USBKEY时自动产生,在raybet_engineer.h中,程序员需要将该头文件内容娱乐到应用开发中,例如下:


电子游戏参数

 

6.5. raybet_API库版本


由于所使用的CPU、编译器和操作系统的不同,我们会根据您的硬件环境生成与之对应的raybet_API库文件,全力协助您完成超快速Design In,目前常用的版本如下:

 

操作系统

CPU

raybet_API版本

Android java

Cotex-A系列

libjraybet_spi2c.so

libjraybet_com.so(ble/wifi)

Linux C

Cotex-A系列

libcraybet_axx.a

Windows

PC

libraybet_win32.lib

libraybet_win32usb.lib

无操作系统

通用8051

libraybet_8051.lib

CC2540/CC2541

libraybet_cc254x.a

STM32

libraybet_stm32.lib

dsPIC33

libraybet_dsPIC33.a

xxxxx

libraybet_xxxxx.a


根据目前的应用需求,raybet_API主要有以下三种语言版本:

C

l  Java

l  Object C (正在开发中,敬请期待)


6.6. C语言开发

 

 C语言代码一

 C语言代码二

 

1.7.Java语言开发


Java语言一


Java语音二


待续......






【关注列表】
5ImoZrnba8IT6UWU7gnazWqB9B021S0k+WfrsTOIv4Iybdv6nCWqL/rCOoR2wN1iB1U31hoxqSz4FFU7ACoix/GbKrrVtQullTVcVquOG1bDhOyculjKd/iJ3xYWD07Xz1bTEHxco78p8LLB51az3eo3LsRH87sTdQe179+B2H8JVtfQS+UnB6xmbB6tLpDQlP36+68LBxNWE6JjzRckxE1irFWeY8e6
ag平台开户送9元现金线上网址吉祥体育网页版raybet网beplay苹果app下载