关于SKY验证登陆器原理

发布日期:2025-10-21 | 转发:Zero | 来源:网络未知

TDefaultMessage = record
    Recog    :Integer;
    Ident    :dWord;  //注意:Hero引擎采用dWord 32位
    Param    :dWord;
    Tag      :dWord;
    Series  :dWord;
  end;

function  MakeDefaultMsg (msg:Word; Recog:integer; param, tag, series:Word):TDefaultMessage;

var Msg: TDefaultMessage;

Msg := MakeDefaultMsg(CM_ADDNEWUSER, 0, 0, 0, 0);//Msg.msg 注册账号编号; Msg.Recog 为 LoginSrv 验证码 

最后 EncodeMessage(Msg) 发送给登陆网关

//自己做专用网关,通常多加一条进行验证,以下是我个人采用方案。(客户端登陆连接需要登陆器转发处理)

1、登陆器连接网关成功,网关对该连接Socket ID 分配一个随机验证码(动态), 再次进行加密后发送给登陆器。

2、登陆器解密该字符串,获得本次连接的随机验证码。

3、MakeDefaultMsg(CM_ADDNEWUSER, SKY验证码, 0, 网关密码(加密), 随机验证码);  

4、登陆网关获得数据解密后判断 随机验证码 和 网关密码。

//如果还想保险点 EncodeMessage(Msg) 字符串进行二次加密
 

©2005-2025 zerom2.comZero引擎,致力于游戏引擎二次开发,为游戏开发加油! Rss