mangos(二)认证登录基本流程

本文介绍了mangos的认证登录流程,涉及SRP算法,该算法通过公钥和私钥实现安全远程密码验证。在登录过程中,服务器发送参数包括公钥和随机数,客户端与服务器端分别计算值进行对比,确保验证安全性。验证成功后,双方使用sessionkey进行对称加密通信。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、公钥基本概念

  1. 举个简单的例子就很清楚了,就好象例子中的任何人都知道用钱币(公钥)锁上存物箱,但仍然打不开存物箱。只有拥有钥匙或写有号码的纸条(私钥)的人才能打开存物箱。

    上面的例子还有点问题,实际中私匙一般只有通信的解密方才知道,加密的人都不知道。

    在举个例子:
    (2^3) mod 11 =8
    (8^7) mod 11= 2
    在这里2是明文8是密文。
    加密密钥是3解密钥匙是7,加密和减密钥匙不一样。

    这里2可以是用户密码,3为公钥,7是服务器端的保留的私钥(十分重要)。 这样
    假设是A,和B
    只要满足(A*B+1) mod 11 =0 就可以了。
    这是简单的例子。如果把11变的很大。
    知道B是算不出A来的。
    简单说,就是这个道理

  2. 公匙的应用不仅仅是加密,还可以是签名。需要签名的人先把自己个公司告诉别人,发信息的时候用自己的私匙加密(别人不知道,否则可以用你的名义发各种消息)。这条信息就有了你自己的“签名”。因为只有你的公匙能够解密该私匙,而你的公匙早就公布过了。

  3. 相对于对称加密,不对称加密往往需要运算量大。

二、mangos登录流程

  1. SRP算法
    登录验证使用了这算法,Secure Remote Password(安全远程密码),它是一个开放源代码认证协议。这个算法比较复杂,有点类似于公匙,服务器发送给客户端几个参数,有公匙&

mangos不是一个魔兽私服模拟器,它是一个开源的自由软件项目,是用c++和C#编程语言,实现的一个支持大型多人在线角色扮演游戏服务器的程序框架,在这个框架下,它理论上应该支持任何客户端的网络游戏,由于现在很多人使用魔兽世界来对它进行测试,所以针对魔兽世界的脚本和数据库文件比较完善,很多人就利用这个开源项目来实现魔兽私服。   首先,mangos项目是一个开源的自由软件(如同linux或者firefox),并且遵守其中最为严格的GPL协议,也就是保证源代码绝对的自由,要了解什么是开源软件,自由软件请自己搜索这方面的资料。   其次开发小组一再强调,这是个研究,教育性质的对怎样开发大型网游的服务器端有好处的项目,是一个技术细节毫无保留向公众开放的软件,是一件很有意义的事情,如果你使用它作为盈利目的,那你本身就违反了软件的协议。所以任何利用mangos项目进行私服活动的组织和个人都违反了mangos的宗旨,mangos项目也不会对它们负责。   mangos的技术细节上是这样的,核心部分是个和特定游戏没有关系的核心框架程序,主要是进行进程调度,创造世界,建立心跳机制,处理网络接入等。数据库也是使用的开源数据库软件MySQL,编译器使用的是GCC。至于游戏内容数据库,游戏人物,时间,世界脚本,都是由这个核心程序所支持的扩展脚本来实现,所以有一些独立出来的项目专门模拟魔兽世界来开发支持mangos的核心程序。现在mangos的核心程序已经放到著名的协同开发网站sourceforge上开发了,使用的版本控制工具是subversion,(目前已经迁移到GIT)。大家都可以从sourceforge的subversion数据库中下载最新的源代码程序。   另外有点要注意的是,开源项目是很容易被利用的,有时候有的公司开发了一个软件说是自己做的其实内核都是别人的开源内核,但是公司又不承认,利用了别人的劳动成果赚钱不说,既不回报社区,也对开源自由软件造成了很大的伤害。所以大家注意了,如果看到一个和魔兽世界很像的什么网络游戏?要想想是不是利用的mangos的核心程序。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值